Ten Pop­u­lar Open Source Tools for De­vel­op­ers

Here is a se­lec­tion of the ten most pop­u­lar open source tools for de­vel­op­ers, along with a brief in­tro­duc­tion to each.

OpenSource For You - - Contents - By: Neetesh Mehro­tra The au­thor works at TCS as a sys­tems engi­neer. His ar­eas of in­ter­est are Java de­vel­op­ment and au­to­ma­tion test­ing. He can be con­tacted at mehro­tra.neetesh@gmail.com.

As the new year has just started, let me present the top ten open source tools of the pre­vi­ous year for de­vel­op­ers. This list in­cludes ver­sion con­trol sys­tems, in­te­grated de­vel­op­ment en­vi­ron­ments (IDEs), text ed­i­tors, and Web and mo­bile frame­works. All th­ese are reg­u­larly used by de­vel­op­ers to cre­ate new ap­pli­ca­tions.

1. Git

Git is a free and open source dis­trib­uted ver­sion con­trol sys­tem de­signed to han­dle every­thing from small to very large projects, with speed and ef­fi­ciency. With the rise of GitHub, Git has be­come a de facto stan­dard and, ac­cord­ing to sev­eral sur­veys, is now the most pop­u­lar ver­sion con­trol sys­tem among soft­ware de­vel­op­ers. Its users in­clude all the big­gest names in the tech­nol­ogy in­dus­try, such as Google, Face­book, Twit­ter, Mi­crosoft, LinkedIn and Net­flix. It is also very pop­u­lar with open source projects such as the Linux ker­nel, Eclipse, GNOME and oth­ers. Git is easy to learn and has a tiny foot­print, with light­ning fast per­for­mance. It out­classes SCM tools like Sub­ver­sion, CVS, Per­force and ClearCase with fea­tures like cheap lo­cal branch­ing, con­ve­nient stag­ing ar­eas and mul­ti­ple work­flows.

2. Eclipse

Eclipse is an in­te­grated de­vel­op­ment en­vi­ron­ment (IDE) used in com­puter pro­gram­ming. It is the most widely used Java IDE, but it also sup­ports C/C++, PHP and JavaScript. Eclipse got started in 2001 when IBM do­nated three mil­lion lines of code from its Java tools to de­velop an open source in­te­grated de­vel­op­ment en­vi­ron­ment. Eclipse is re­leased un­der the terms of the Eclipse Pub­lic Li­cense. The Eclipse Foun­da­tion, which over­sees de­vel­op­ment of the IDE, sup­ports more than 250 open source projects, most of them re­lated to de­vel­op­ment tools. There are also loads of plug­ins avail­able that bring code qual­ity, ver­sion con­trol and other ca­pa­bil­i­ties to the in­te­grated de­vel­op­ment en­vi­ron­ment.

3. Apache HttpClient net­work stack

Most na­tive mo­bile apps use the In­ter­net to ‘phone home’ to a data­base or ser­vice. They of­ten rely on a cus­tom net­work stack for this be­cause a browser-based con­nec­tion would be slow, con­sume too many re­sources and pro­vide an at­tack sur­face for ma­li­cious code. To im­ple­ment the cus­tom con­nec­tion be­tween the app and the ser­vice back-end, Apache’s HttpClient pro­vides a ca­pa­ble HTTP con­nec­tiv­ity frame­work that can be used for this pur­pose.

HttpClient lets you read­ily con­struct the head­ers and bod­ies of HTTP re­quests as well as the re­sponses to sup­port a pri­vate com­mu­ni­ca­tions ses­sion. For ex­am­ple, you can eas­ily set up an au­then­ti­cated trans­ac­tion us­ing an au­tho­rised header or grab the data in a Set-Cookie header to man­age cook­ies. Cu­ri­ously, while the Java De­vel­op­ment Kit (JDK) has its own HTTP stack, it doesn’t im­ple­ment the PATCH method, while HttpClient does. PATCH is im­por­tant be­cause it lets you se­lec­tively up­date sub­sets of data with low net­work over­head, par­tic­u­larly if your ser­vice re­lies on the Open Data (OData) Pro­to­col.

4. Node.js

Node.js is a JavaScript run­time built on Chrome’s VB JavaScript en­gine. Node.js uses an event-driven, non-block­ing I/O model that makes it light­weight and ef­fi­cient. A de­vel­oper can write server side ap­pli­ca­tions. In re­cent years, the project has sky­rock­eted in pop­u­lar­ity and its users in­clude IBM, Mi­crosoft, LinkedIn, Net­flix, PayPal, Ya­hoo, Wal­mart and many other well-known Web com­pa­nies. Ac­cord­ing to its web­site, the Node.js pack­age ecosys­tem, npm, is the largest ecosys­tem of open source li­braries in the world.

5. Cor­dova

Spon­sored by the Apache Foun­da­tion, Cor­dova al­lows mo­bile de­vel­op­ers to write for iOS, An­droid, Win­dows and other plat­forms us­ing Web de­vel­op­ment tech­nolo­gies like HTML, CSS and JavaScript. Many other mo­bile de­vel­op­ment frame­works, most no­tably PhoneGap, are based on the Cor­dova code base. Ap­pli­ca­tions ex­e­cute within wrap­pers tar­geted at each plat­form, and rely on stan­dards-com­pli­ant API bind­ings to ac­cess each de­vice’s sen­sors, data and net­work sta­tus.

6. Emacs

Emacs is a fam­ily of text ed­i­tors that is char­ac­terised by its ex­ten­si­bil­ity. The man­ual for the most widely used vari­ant, GNU Emacs, de­scribes it as the ex­ten­si­ble, cus­tomis­able, self-doc­u­ment­ing, real-time dis­play ed­i­tor. GNU Emacs boasts of con­tent-aware edit­ing modes with syn­tax colour­ing, built-in doc­u­men­ta­tion and tu­to­ri­als, full Uni­code sup­port and tools for project plan­ning, de­bug­ging and more.

7. Vim

Vim is a highly con­fig­urable text ed­i­tor that makes cre­at­ing and chang­ing any kind of text very ef­fi­cient. It is in­cluded as ‘vi’ with most UNIX sys­tems and with Ap­ple OS X. Vim is de­signed for use both from a com­mand line in­ter­face and as a stand­alone ap­pli­ca­tion in a graph­i­cal user in­ter­face. Key fea­tures in­clude a multi-level undo tree, sup­port for hun­dreds of pro­gram­ming lan­guages, an ex­cel­lent ‘Search and re­place’ tool and an ex­ten­sive plugin sys­tem. Vim is rock sta­ble and is con­tin­u­ously be­ing de­vel­oped to be­come even bet­ter.

8. ASP.NET

ASP.NET is an open source server side Web ap­pli­ca­tion frame­work de­signed for the de­vel­op­ment of dy­namic Web pages. It was de­vel­oped by Mi­crosoft to al­low pro­gram­mers to build dy­namic web­sites, Web ap­pli­ca­tions and Web ser­vices. It can be in­te­grated with many other Mi­crosoft de­vel­op­ment tools in­clud­ing Vis­ual Stu­dio. It al­lows you to use a full fea­tured pro­gram­ming lan­guage such as C# or VB.NET to build Web ap­pli­ca­tions eas­ily.

9. Boot­strap

Boot­strap is a free and open source front-end Web frame­work for de­sign­ing web­sites and Web ap­pli­ca­tions. It con­tains HTML and CSS based de­sign tem­plates for ty­pog­ra­phy, forms, but­tons, nav­i­ga­tion and other in­ter­face com­po­nents as well as op­tional JavaScript ex­ten­sions. Un­like many Web frame­works, it is only linked to front-end de­vel­op­ment. It was de­vel­oped by Twit­ter and the first ver­sion was re­leased in 2011.

10. Ruby on Rails

Ruby on Rails, or Rails, is a server side Web ap­pli­ca­tion frame­work writ­ten in Ruby un­der the MIT Li­cense.

Rails is a model–view–con­troller (MVC) frame­work, pro­vid­ing de­fault struc­tures for a data­base, a Web ser­vice and for Web pages. It en­cour­ages and fa­cil­i­tates the use of Web stan­dards such as JSON or XML for data trans­fer, and HTML, CSS and JavaScript for dis­play and user in­ter­fac­ing. In ad­di­tion to MVC, Rails em­pha­sises the use of other well-known soft­ware en­gi­neer­ing pat­terns and par­a­digms, in­clud­ing ‘con­ven­tion over con­fig­u­ra­tion’ (CoC), ‘don’t re­peat your­self’ (DRY), and the ac­tive record pat­tern. Its users in­clude some of the most pop­u­lar ser­vices on the In­ter­net, such as GitHub, Airbnb, Base­camp and Hulu.

Newspapers in English

Newspapers from India

© PressReader. All rights reserved.