Changes between Version 11 and Version 12 of SoftwareDevelopment/ProjectGuidelines
- Timestamp:
- 10/11/16 14:38:54 (8 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
SoftwareDevelopment/ProjectGuidelines
v11 v12 26 26 Or how to choose a programming language, development frameworks and tools. 27 27 28 * If possible, select a '''programming language''' that is widely known and already used within the CLARIN infrastructure, an in particular CLARIN's core development team. For applications that run on a server, '''Java''' is the preferred language of choice. For web applications front-ends that run client-side, '''Javascript''' is used preferably combined with one of the frameworks mentioned below. Scripts could be written in '''Python''' or'''Bash'''.28 * If possible, select a '''programming language''' that is widely known and already used within the CLARIN infrastructure, an in particular CLARIN's core development team. For applications that run on a server, '''Java''' is the preferred language of choice. For web applications front-ends that run client-side, '''Javascript''' is used preferably combined with one of the frameworks mentioned below. Scripts should preferably be written in '''Python''', or alternatively in '''Bash'''. 29 29 * The same applies to any '''frameworks''' that you might use to develop your application. The following frameworks are preferred for various programming languages/environments: 30 30 * [http://wicket.apache.org/ Apache Wicket] for Java-based web-applications 31 31 * [https://jax-rs-spec.java.net/ JAX-RS]/[https://jersey.java.net/ Jersey] for REST services 32 32 * [https://facebook.github.io/react React] for Javascript based front-ends 33 * ... 33 * [http://getbootstrap.com/ Bootstrap] for web page/front-end styling (HTML & CSS) 34 * Use the Bootstrap based [https://github.com/clarin-eric/base_style CLARIN base style] to match the common CLARIN styling 34 35 35 36 == Quality and integrity == … … 49 50 * Test your build regularly, ideally on a daily basis or with every commit/push, i.e. attempt to implement '''continuous integration'''. Generally applicable tools that can be used for this are, among others, [https://travis-ci.org Travis] and [https://jenkins.io/ Jenkins]. 50 51 * Consider distributing your application as a '''[https://docker.com/ Docker] image'''. The Docker website has [https://docs.docker.com/engine/getstarted/step_four/ instructions and more information]. 51 * Make '''all sources available''' that are needed to build your software. Use the [https://trac.clarin.eu CLARIN SVN] or !GitHub (you can join [https://github.com/clarin-eric CLARIN's organisation]. 52 * Make '''all sources available''' that are needed to build your software. Use !GitHub for this purpose (you can join [https://github.com/clarin-eric CLARIN's organisation]). 53 54 == Other == 55 * Make yourself (and your team members) known and traceable. Use a recognisable handle on the various platforms (such as !GitHub, Slack) and/or provide your real name in your profile. Make a personal page on the Wiki and add a link to it from the [[People|People page]] and add basic contact information. 52 56 53 57 = Resources =