OpenSource For You

Ten Popular Open Source Tools for Developers

Here is a selection of the ten most popular open source tools for developers, along with a brief introducti­on to each.

- By: Neetesh Mehrotra The author works at TCS as a systems engineer. His areas of interest are Java developmen­t and automation testing. He can be contacted at mehrotra.neetesh@gmail.com.

As the new year has just started, let me present the top ten open source tools of the previous year for developers. This list includes version control systems, integrated developmen­t environmen­ts (IDEs), text editors, and Web and mobile frameworks. All these are regularly used by developers to create new applicatio­ns.

1. Git

Git is a free and open source distribute­d version control system designed to handle everything from small to very large projects, with speed and efficiency. With the rise of GitHub, Git has become a de facto standard and, according to several surveys, is now the most popular version control system among software developers. Its users include all the biggest names in the technology industry, such as Google, Facebook, Twitter, Microsoft, LinkedIn and Netflix. It is also very popular with open source projects such as the Linux kernel, Eclipse, GNOME and others. Git is easy to learn and has a tiny footprint, with lightning fast performanc­e. It outclasses SCM tools like Subversion, CVS, Perforce and ClearCase with features like cheap local branching, convenient staging areas and multiple workflows.

2. Eclipse

Eclipse is an integrated developmen­t environmen­t (IDE) used in computer programmin­g. It is the most widely used Java IDE, but it also supports C/C++, PHP and JavaScript. Eclipse got started in 2001 when IBM donated three million lines of code from its Java tools to develop an open source integrated developmen­t environmen­t. Eclipse is released under the terms of the Eclipse Public License. The Eclipse Foundation, which oversees developmen­t of the IDE, supports more than 250 open source projects, most of them related to developmen­t tools. There are also loads of plugins available that bring code quality, version control and other capabiliti­es to the integrated developmen­t environmen­t.

3. Apache HttpClient network stack

Most native mobile apps use the Internet to ‘phone home’ to a database or service. They often rely on a custom network stack for this because a browser-based connection would be slow, consume too many resources and provide an attack surface for malicious code. To implement the custom connection between the app and the service back-end, Apache’s HttpClient provides a capable HTTP connectivi­ty framework that can be used for this purpose.

HttpClient lets you readily construct the headers and bodies of HTTP requests as well as the responses to support a private communicat­ions session. For example, you can easily set up an authentica­ted transactio­n using an authorised header or grab the data in a Set-Cookie header to manage cookies. Curiously, while the Java Developmen­t Kit (JDK) has its own HTTP stack, it doesn’t implement the PATCH method, while HttpClient does. PATCH is important because it lets you selectivel­y update subsets of data with low network overhead, particular­ly if your service relies on the Open Data (OData) Protocol.

4. Node.js

Node.js is a JavaScript runtime built on Chrome’s VB JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweigh­t and efficient. A developer can write server side applicatio­ns. In recent years, the project has skyrockete­d in popularity and its users include IBM, Microsoft, LinkedIn, Netflix, PayPal, Yahoo, Walmart and many other well-known Web companies. According to its website, the Node.js package ecosystem, npm, is the largest ecosystem of open source libraries in the world.

5. Cordova

Sponsored by the Apache Foundation, Cordova allows mobile developers to write for iOS, Android, Windows and other platforms using Web developmen­t technologi­es like HTML, CSS and JavaScript. Many other mobile developmen­t frameworks, most notably PhoneGap, are based on the Cordova code base. Applicatio­ns execute within wrappers targeted at each platform, and rely on standards-compliant API bindings to access each device’s sensors, data and network status.

6. Emacs

Emacs is a family of text editors that is characteri­sed by its extensibil­ity. The manual for the most widely used variant, GNU Emacs, describes it as the extensible, customisab­le, self-documentin­g, real-time display editor. GNU Emacs boasts of content-aware editing modes with syntax colouring, built-in documentat­ion and tutorials, full Unicode support and tools for project planning, debugging and more.

7. Vim

Vim is a highly configurab­le text editor that makes creating and changing any kind of text very efficient. It is included as ‘vi’ with most UNIX systems and with Apple OS X. Vim is designed for use both from a command line interface and as a standalone applicatio­n in a graphical user interface. Key features include a multi-level undo tree, support for hundreds of programmin­g languages, an excellent ‘Search and replace’ tool and an extensive plugin system. Vim is rock stable and is continuous­ly being developed to become even better.

8. ASP.NET

ASP.NET is an open source server side Web applicatio­n framework designed for the developmen­t of dynamic Web pages. It was developed by Microsoft to allow programmer­s to build dynamic websites, Web applicatio­ns and Web services. It can be integrated with many other Microsoft developmen­t tools including Visual Studio. It allows you to use a full featured programmin­g language such as C# or VB.NET to build Web applicatio­ns easily.

9. Bootstrap

Bootstrap is a free and open source front-end Web framework for designing websites and Web applicatio­ns. It contains HTML and CSS based design templates for typography, forms, buttons, navigation and other interface components as well as optional JavaScript extensions. Unlike many Web frameworks, it is only linked to front-end developmen­t. It was developed by Twitter and the first version was released in 2011.

10. Ruby on Rails

Ruby on Rails, or Rails, is a server side Web applicatio­n framework written in Ruby under the MIT License.

Rails is a model–view–controller (MVC) framework, providing default structures for a database, a Web service and for Web pages. It encourages and facilitate­s the use of Web standards such as JSON or XML for data transfer, and HTML, CSS and JavaScript for display and user interfacin­g. In addition to MVC, Rails emphasises the use of other well-known software engineerin­g patterns and paradigms, including ‘convention over configurat­ion’ (CoC), ‘don’t repeat yourself’ (DRY), and the active record pattern. Its users include some of the most popular services on the Internet, such as GitHub, Airbnb, Basecamp and Hulu.

 ??  ??
 ??  ??

Newspapers in English

Newspapers from India