Ebook: Programming tools (English)

Page 1

Programming

Tools 01 Python 02 Html5 03 Java

04 Javascript 05 PHP 06 Perl


Python One of the latest focuses in the market, being deployed to a great extent among the community of American developers, is the Python programming language, which allows projects to be carried out swiftly and in a versatile way.


01. PYTHON / BEEWARE

BeeWare BeeWare is more than just a tool; in fact it is a toolbox to help develop and debug software in Python. The big difference between BeeWare and an IDE (integrated development environment) is that each tool in that box can be used

independently from each other. Each can be used to carry out small tasks and all can be simultaneously used separately to implement large projects in Python.


01. PYTHON / BEEWARE

The tools in that box of services are:

CRICKET

BUGJAR

DUVET

This is a graphical tool for running unit tests. The tool does not offer many details of the execution while the suite is underway and it is not possible to start looking for faults until execution is complete. This results in Cricket not being a great tool for identifying patterns of faults in these unit tests or for rerunning failed tests. Cricket supports Django, a framework of open source code that is written in Python and used to develop web applications faster.

This is a tool for debugging code errors. The old debuggers were good for their integrated development environments and being able to debug errors visually during execution. The Python debugging model contains appealing debugging methods. It also has a graphical interface that lets you navigate the code to correct errors.

This is a graphical interface that helps developers visualize the results of coverage of tests returned by coverage.py, a tool that works to measure coverage of program code in Python. Such actions serve to measure the effectiveness of tests, separately showing which parts of the code are worked by testing and which are not.


01. PYTHON / BEEWARE

BeeWare also has a number of libraries for projects in Python:

TOGA

iOS TEMPLATE

ANDROID TEMPLATE

A package of native tools for each system, made in Python that can be used for desktops and mobiles.

A template that allows us to develop applications in Python but implement them in iOS.

A template to implement Python code in Android.

RUBICON This is a collection of tools to establish relationships between the Python programming environment and others.

CASSOWARY Pure implementation in Python of the algorithm of solutions of limitations of Cassowary (algorithm that has been used within Mac OS and iOS since 2011.


01. PYTHON / BOA CONSTRUCTOR

BOA Constructor Python developers have this integrated development environment (IDE) with a built-in graphical user interface (GUI) for wxPython. This tool includes an object inspector, inheritance hierarchies, a particularly good debugger and integrated help. Obviously, it is written in Python.


01. PYTHON / BOA CONSTRUCTOR

The user interface consists of a set of separate tools used to create and debug applications developed with Python:

PALETA

EDITOR

This tool allows developers to access objects such as buttons, text boxes, frames and create packages and modules for our applications. This is the first step to generating a new development for Python.

this is the part of BOA Constructor where developers can access the source code of the application they are creating. You can correct errors and run the application to identify them in the editor.

INSPECTOR

There is an interesting tutorial on the web which can serve as a guideline for beginners.

Objects can be accessed through this tool

EXPLORER This allows you to browse and review data items.


01. PYTHON / INTEGRATED DEVELOPMENT

Integrated development environments for Python: An integrated development environment is a software application that allows software developers to design in a simple way. This has all the necessary tools integrated into a single environment: an editor for source code, automated build tools and a debugger. There are several on the market.


01. PYTHON / INTEGRATED DEVELOPMENT

PYDEV FOR ECLIPSE PyDev is a Python package for Eclipse, an extremely versatile IDE, which is able to support not only the Python language, but many others. It has particularly interesting features if you want to program applications: •

Integration with Django, a framework for web development of open source written in Python. Django allows developers to create complex web projects through rapid development using the Don’t Repeat Yourself computing principle, which seeks to remove duplication in development processes.

Code completion.

Syntax highlighting.

Code analysis.

Debugger and remote debugger.

Interactive browser.

Refactoring.

Unit Testing Integration.

Source code coverage


01. PYTHON / INTEGRATED DEVELOPMENT

PYCHARM T is an IDE created by JetBrains. It has an incredible reputation within the Python developer community. Some even describe it as the best IDE for Python. This is an integrated development environment with hundreds of functions, which can turn the tool into a tedious environment, but it is certainly a great choice for programming. Some of its key features are: •

Integration with frameworks such as Django, Flask, Pyramid or Web2Py.

Auto-completion.

Syntax highlighter.

Analysis tool.

Refactoring.

Advanced Python and JavaScript debugger.

Compatibility with programming tools and languages for developers in Python such as SQLAlchemy (ORM), Google App Engine or Cython.

Version control system such as Git, CVS and Mercurial.Sistema de control de versiones como Git, CVS y Mercurial.

For example, in this video one of the developers of JetBrains designs a clone of the Pinterest social network with tools from the PyCharm integrated development environment.


01. PYTHON / INTEGRATED DEVELOPMENT

WXGLADE This is a wxWidgets user graphical interface written in Python, but that can generate source code for other programming languages such as C++, Lisp or Perl. wxGlade is not an integrated development environment with all the tools to develop in Python, it is just a designer that lets you view the widgets created.


Html5 Any developer designing the front-end of a project must be very familiar with the design trilogy: HTML, CSS and JavaScript. This is a brief list of what we think are some of the best HTML tools for programmers, helping you to find the resources you need for your projects.


02. HTML5 / HTML EDITORS

HTML editors and front-end languages Any developer designing the front-end of a project must be very familiar with the design trilogy: HTML, CSS and JavaScript. This is a brief list of what we think are some of the best HTML tools for programmers, helping you to find the resources you need for your projects.


02. HTML5 / HTML EDITORS

SUBLIME TEXT This code editor is not free - with a license costing 70 dollars - but you can download a free trial version. This is a very popular solution among developers, providing a carefully developed user experience. Sublime is used by many developers, who rate it as the best code editor out there. Some of its key features include: •

Available for Windows, Mac OS X and Linux.

Supports many programming languages: HTML, C, C++, Groovy, Java, JavaScript, Lisp, Perl, PHP, Python, Ruby, SQL, etc.

Shortcuts for searches.

Distraction free mode for writing code.

Auto-complete function.

Highly customizable editor.

Supports macros.

Extend functionality using plugins.


02. HTML5 / HTML EDITORS

ATOM A free, open-source editor that is highly customizable. Launched by GitHub, the collaborative project development platform. This tool is creating quite a buzz in the developer community. The strength of this editor is that many programmers are helping to improve it through GitHub. Interesting features of Atom: •

Available for Windows, Mac OS X and Linux.

Fully customizable: its creators boast that developers can change the editor in any way they like, including its core.

Node.js integration: allowing any user to use hundreds of Node.js packages and libraries.

File browsing system.

Search and replace in work files.

Multiple panels, cursors and selectors.

Simple and clean user interface.

Customizable modular design: the editor allows users to design their own modules, incorporating new functionality.


02. HTML5 / HTML EDITORS

NOTEPAD++ Perhaps one of the best known code editors on the market. This tool is governed by a GPL license (General Public License). It could be described as Notepad on steroids. It offers developers and programmers a number of interesting features: •

Code coloring to facilitate programming, not just for HTML, but for all the languages Notepad++ supports: Python, Ruby, PHP and JavaScript.

Code auto-complete. You don't need to type all the HTML tags. Customizable keyboard commands.

Ability to work on several documents at the same time.

Multi-view. Visualize the code in a number of ways.

Regular expressions to automate actions.

Automatic document status detection. This is a useful feature when a team is working on the same document.

Record and copy macros.

Zoom in.

Support for several languages.


02. HTML5 / HTML EDITORS

EDITRA A multi-platform text editor. Its developers highlight its easy-to-use interface and features that aid code development. Editra is totally free under a LGPL license. It supports over 60 programming languages, including Python, PHP, Perl, Java, Lisp, SQL, Visual Basic and Pascal.

Allows you to work with tabs and on several documents at once.

Includes a search engine.

Features an editor and syntax highlighter.

Auto complete function.

Keyword help.

Enhance functionality with plugins.


02. HTML5 / HTML EDITORS

TEXTWRANGLER A text editor developed by Bare Bones Software. It boasts a simple and intelligent interface with functionality for high performance code programming. Some of its features include: •

Support for various programming languages, including HTML, C, C++, Fortran, Java, Object Pascal, Objective-C, Perl, Python, Ruby, etc.

Can be used as an external editor integrated with Xcode, Apple's integrated development environment.

Syntax colors to facilitate code programming.

Search and replace across multiple files.

Integrated support for FTP access using Interarchy.

Language configuration for the working document.

Keys configurable by the developer.

List of floating windows.


02. HTML5 / FRAMEWORKS FOR HTML5

Frameworks for HTML5


02. HTML5 / FRAMEWORKS FOR HTML5

BOOTSTRAP Is the Twitter framework for responsive and adaptive website design and development in HTML, CSS and JavaScript. Bootstrap is a widely-used framework among today's front-end developers. •

This framework is backed by Twitter, so it is unlikely to become obsolete.

Although it only has limited support for HTML5 and CSS3, are compatible with current browsers.

It is open source and shared on GitHub. This makes it special as it is used and continuously improved by many developers.

It makes working with JavaScript much easier: the developer doesn't need to get programming: many components are available allowing implementation of special resources with no need for coding. And that is a major advantage!

All of these components are based on jQuery. Enables us to add new functionality to the user interface: from a carousel effect in the site header to the creation of groups of buttons and alerts. And its enormous popularity means that more and more third-party plugins are becoming available to automate much of this functionality.

Bootstrap uses the LESS dynamic stylesheet.

It also offers comprehensive documentation: if you have a project or a doubt, or need to solve a difficult situation, documentation and tutorials are available to help.


02. HTML5 / FRAMEWORKS FOR HTML5

HTML5 BOILERPLATE: This is the other major HTML5 framework. Its key features include: •

Support for old browsers. HTML5 Boilerplate offers a feature detection library known as Modernizr. This can determine whether the user's browser supports HTML5 and CSS3. If it doesn't, an additional function is loaded enabling old browsers to load all site elements.

Improved load times. With the increasing consumption of information on mobile devices, website load times are becoming an essential competitive tool. In HTML5 Boilerplate, all scripts elements are at the end of the page, meaning that display of the site's key elements is not delayed by slow loading. This affects almost all elements, including the usual Google Analytics tracking code.

Server-side optimization: HTML5 Boilerplate's .htaccess folder enables a more efficient cache and allows us to send our websites compressed as GZIP, together with images and JavaScript elements, optimizing site performance and reducing load times.


02. HTML5 / FRAMEWORKS FOR HTML5

JUNIOR Is a framework for creating native mobile applications in HTML5. This framework uses CSS3 transitions to optimize site performance on mobile devices, enabling the developer to design carousels with flickable.js. The user interface design is really simple, listing the pre-defined components included in the framework.


Java Java is a general-purpose object-oriented language widely used within the developer community. This is a list of the basic tools for developing projects using this programming language.


03. JAVA / IDE

Integrated Development Environment (IDE) Java's creator was James Gosling, a software engineer with a long career at Sun Microsystems (1984-2010), the company he developed this programming language for, Google (2010-2011) and nowadays at Liquid Robotics.


03. JAVA / IDE

NETBEANS For creating desktop, mobile or web Java applications. It also enables applications to be developed in HTML5 (HTML, JavaScript and CSS) and has tools for PHP, C and C++ programmers. NetBeans is an open source IDE developed in Java. Any application developer can download it free of charge. •

NetBeans is more than a text editor: It enables simple code refactoring, provides templates and code generators, and offers programming tips. In addition to Java, it supports C, C++, XML, HTML, Javadoc, JavaScript and JSP.

Organized project management: NetBeans enables you to organize all your applications in a folder service. This makes collaborative work with other developers much easier. Version control is essential in that management, and this is why NetBeans includes tools such as Mercurial, Subversion and Git.

Fast user interface development: NetBeans has its own graphical user interface (GUI) for Java, HTML5, PHP or C/C++. This interface has easyto-use drag and drop tools for designing apps.

Error debugger: Has tools for optimizing the applications in terms of speed and memory usage. This enables the development of applications that fulfill an essential condition: scalability.


03. JAVA / IDE

ECLIPSE The best known integrated development environment for Java. It also enables projects to be developed in other languages such as C, C++ and PHP. Like any other IDE, it enables the development of desktop software and applications, and also for mobile devices such as tablets and smartphones. It has a graphical user interface and tools for carrying out many functions.


03. JAVA / IDE

INTELLIJ IDEA An IDE developed in Java by Jet Brains under two types of licenses: open source and commercial. It is one of the most widely used development environments within the Java community and some consider it the best IDE on the market if you develop projects using this programming language. The tools it offers include: •

Advanced code refactoring system.

A system for completing code while programming.

Code error analysis in real time.

Version control system.

UML (Unified Modeling Language) designer.

It enables development with Java frameworks such as Spring MVC, GWT, Vaadin, Play, Grails, Web Services, JavaServer Faces, Apache Struts and Flex.

It includes assistance for programming in code in HTML5, CSS3, JavaScript, Node.js, ActionScript and several other languages.


03. JAVA / GVNIX

Rapid application development: gvNIX gvNIX is an open source tool for rapid application development (RAD). With this tool, any developer can create web applications in Java quickly and without much trouble. The tool offers integration with frameworks such as jQuery, Bootstrap 3, Leaflet or Datatables.


03. JAVA / GVNIX

Some features of the tool: •

Multiplatform tool: gvNIX works under several operating systems (Windows, Mac OSX and Linux). It can also be integrated with any IDE, such as Eclipse and STS. All that is needed to install it is the Java SDK (version 6 or later) and Apache Maven 3.

Command interpreter: gvNIX is designed as an interactive command interpreter. It offers command autocomplete and context-sensitive help.

JEE standard projects: The projects created with this tool are compliant with the JEE standard, the platform for developing and running application software in the Java programming language.

Without dependencies on the execution environment: The applications developed with gvNIX only depend on the frameworks used by the developer, without this causing a dependency on the execution environment.

Another rapid application development (RAD) tool is Spring Roo.


03. JAVA03. / APACHE JAVA / MAVEN

Framework: Apache Maven Apache Maven is a tool for managing and designing projects in Java. This framework was created in 2002 by Jason Van Zyl, from Sonatype. Maven uses a Project Object Model (POM), an XML file that is the basic work unit in Maven. This file contains information on the project and details of the configuration used by the framework: from the list and configuration of the plugins used, to the dependencies.


03. JAVA / APACHE TOMCAT

Web server in Java: Apache Tomcat Is a web container that supports servlets and JSPs, initiated by James Duncan Davidson, a software engineer at Sun Microsystems. Today it is used as a standalone server in projects that require high performance in terms of both speed and data volume. Because it was developed in Java, it works with any operating system with a Java virtual machine.


03. JAVA / APACHE TOMCAT

The key features of the latest version are: •

Basic access authentication.

Credential negotiation.

HTTPS.

Shared hosting.

Common Gateway Interface (CGI).

Java servlets.

SSI (Server Side Includes).


Javascript JavaScript is an essential language for developing web projects and applications. Its use has extended to the entire development stack. This is a list of JavaScript frameworks and libraries for developers.


04. JAVASCRIPT

JavaScript is one of the international benchmarks in project programming. It is used for web page and application development, server and database management… A professional who masters JavaScript can become a full-stack developer, i.e. one capable of taking charge of the entire web development stack. A ‘jack of all trades’ profile within the sector.

As proof of its power, in the latest TIOBE report on the most widely used programming languages for developers, JavaScript ranks once again among the 10 top choices for professionals, behind general-purpose languages like Java, C, C++, Objective-C and PHP; easy-to-learn languages such as Python; and .NET app programming languages like Visual Basic.


04. JAVASCRIPT / FRAMEWORKS

EXPRESS:JS A server-side framework that enables programmers to create web applications with Node.js. It is a highly flexible and agile development framework with a community of programmers who improve the product and help use it, with a great deal of additional documentation on platforms like GitHub. It is also a solid, stable and easy to use framework. It is inspired in Sinatra, the development framework for Ruby

Some of its main features include: • It enables APIs to be created in an accessible way. •

It offers a URL router

It uses Jade as a base framework, but JavaScript libraries such as jQuery and Backbone.js can be incorporated to add new functionality to the development framework.


04. JAVASCRIPT / FRAMEWORKS

ANGULAR:JS Angular.js is an open-source and completely free JavaScript framework that enables the development of client-side web applications and uses a Model-View-View Model development pattern. Google is behind its launch and maintenance, thus becoming a stable and solid option, with constant documentation, for the developer community. Angular.js is used for developing single-page web applications (SPAs).

Its key features are: • Bidirectional data-binding system. The Model and the View are always updated in sync with any change in the data. •

It has a Dependency Injection pattern.

Any application developed in AngularJS is compatible with several browsers. JavaScript adapts to each one.


04. JAVASCRIPT / FRAMEWORKS

EMBER:JS Ember.js is a JavaScript framework that enables any developer to create client-side, single-page web applications. It is open-source and uses a Model-View-Controller (MVC) pattern. Some of the key features of this development framework are:

Its key features are: • Automatic modification between the JavaScript objects and the DOM: this relationship between data that expedites the development of applications is due to the integration of the Handlebars.js library. •

Classes and procedures for easy rendering of apps.

It has a system of templates for programming the application's HTML. This system is called HTMLbars and would be the variation of the Handlebars library's DOM


04. JAVASCRIPT / FRAMEWORKS

KNOCKOUT.JS Knockout.js is a development framework based on a Model-View-View Model (MVVM) pattern. It is open-source, under an MIT license. Any developer wishing to start using it for developing a user interface has tutorials and documentation on the framework's own website.

Some of its key features are: • It facilitates the development of declarative bindings. •

Dependency monitoring: it enables updating of the changes in the View and the ModelView for all independent objects and elements

System of templates.

Automatic user interface updating based on the changes made by the developer in the Model-View.


04. JAVASCRIPT / LIBRERIES

JQUERY This is the most widely used JavaScript library among developers. It enables simple interaction with the HTML and the DOM, as well as doing all kinds of animations, entering AJAX features in the project… JQuery enables developers to provide added value with a few lines of code. It is an opensource library under MIT and GNU v.2. license.

Some of its key features include: • It enables modification of the DOM tree. •

Support for CSS3.

Complete manipulation of CSS style sheets.

Event creation.

Development of complex animations.

It supports extensions.

Compatible with all browsers.


04. JAVASCRIPT / LIBRARIES

BACKBONE.JS Backbone.js is a JavaScript library that enables client-side programming. It is used for single-page application development, where the use of JavaScript and AJAX is essential for providing user functionality to the apps. It uses a Model-ViewController pattern.

Its main features are: • It facilitates data-intensive work. Event creation. •

Link to the server-side technology: PHP, Node.js…

Use of API for adding features.

Simplified use of views.


04. JAVASCRIPT / LIBRARIES

KENDO UI Kendo UI is a library, or rather a package of libraries, that provides all the elements needed by developers to create client-side web applications, with a dynamic user interface based on JQuery. In the end, Kendo UI is usually used for developing an intuitive, simple and innovative user interface through different types of widgets that are assembled like a Meccano. These predefined elements include dynamic menus, extras, file upload systems…

Features: • It works with most browsers and operating systems. •

It enables data visualization.

Data-binding.


04. JAVASCRIPT / LIBRARIES

MODERNIZR Modernizr is a JavaScript library that enables a project's incompatibility with each type of browser to be detected. The idea is to create developments tailored to the features of each browser.

The user can use certain features or make adjustments based on what each user uses. These tests are conducted via a test system. Its API also enables loading of customized tests by project.


PHP The programming language PHP is one of the most popular options with developers for creating dynamic web projects and applications. Scripts are executed on the server, it's secure, and it has a short learning curve.


05. PHP

PHP is one of the most widely used programming languages for developing web projects, mainly because of its enormous penetration in both web servers and operating systems. It's a robust solution and completely free of charge. Some of the greatest players on the Internet, like Wikipedia and Yahoo, use PHP for their sites, as do leading content editors like Wordpress and Drupal. And PHP is also used, for example, by the well-known Apache servers. There are several reasons why PHP is so popular: •

It's a language for developing dynamic web applications from the data stored in a database.

The learning curve is very short because PHP developers have simplified its structure.

It works seamlessly with open-source relational databases like MySQL, another solution widely used by developers.

It supports object oriented programming.

PHP scripts are executed on the server, so no one can access them from a browser. That means greater security.

Its enormous popularity has led to a vast array of useful tools for PHP developers, ranging from frameworks to libraries.


05. PHP / FRAMEWORKS

Frameworks The use of a good framework can help developers save time and achieve better results: quality scripts, scalable projects, fast and robust web applications... Using a framework means that developers can store scripts in folders, access libraries and functions that will enrich the final project, and increase security. PHP professionals can choose from a long list of development frameworks.


05. PHP / FRAMEWORKS

LARAVEL A large community with extensive documentation is usually one of the things that developers look for when choosing a tool because it means they have several options if they make a mistake or reach a dead end. That's why Laravel is such a popular framework with PHP developers. These are the main features: •

It supports RESTful.

It requires the installation of Composer, the tool for administering dependencies in PHP. This is useful because once the libraries for the project being developed have been declared, no further action is required from the developer.

It follows the MVC (Model-View-Controller) pattern, which has two important advantages: greater security, and complete separation of the application logic from the user interface.

It supports caching.

Released in 2011 as an open source framework for developing PHP web projects, it was created by Taylor Otwell. The latest version is 5.1. Like most frameworks, Laravel has the usual basics: routes, models, templates, views and controllers. It also has its own template engine, called Blade.


05. PHP / FRAMEWORKS

CODEIGNITER Like Laravel, CodeIgniter has a great community behind it feeding it with ample documentation. It's a simple but high performance development framework with some interesting features: •

It works with most environments and servers.

It follows the MVC pattern.

Separation between the framework core and the project script.

Flexible development framework: developers can follow its coding rules or use their own. This means that there is no need to learn the framework structure because it can be changed. It supports the use of external templates.


05. PHP / FRAMEWORKS

SYMFONY Symfony is a framework for developing web applications using the Model-View-Controller pattern. It was created by the company SensioLabs in 2005 and is distributed under the MIT open source license.

Its main features are as follows: •

The database management system can be changed at any time during development, which is a major advantage.

Completely developed in PHP, it can run on UNIX and Windows platforms and is compatible with most of the common database management systems: MySQL, Microsoft SQL Server, etc.

It uses object oriented programming.

It follows Model-View-Controller patterns.

It's a development framework that greatly facilitates interoperability.

It has its own user-friendly template engine (Twig).

It has a cache system based on HTTP which enhances the performance of applications developed with Symfony.


05. PHP / LIBRARIES

PHP libraries


05. PHP / LIBRARIES

PHP-CPP

HOA

MINK

A C++ library for developing native extensions. It can be used by PHP developers and also by developers who program in C++, a language with a syntax very similar. There is ample documentation for its projects and the source code is full of explanations.

A modular, scalable and structured PHP library. There is a training manual (containing several chapters with technical information) to get you started as well as documentation to use it.

Mink is a very popular library with PHP developers because it lets them test how their web applications interact with the browser to check that they work properly. Mink supports the following frameworks: PHPUnit, Behat and Symfony2.

Developers who know how to program in PHP will find the PHP-CPP library very easy to use with variables, functions, objects and exceptions. And they can also use all the added advantages provided by C++, such as arguments and asynchronous programming.

Hoa provides users with the ability to create their own libraries, which means that the script can be reutilized and shared. The idea is that any programmer can take a library developed by another user and adapt it to the needs of his or her own application with its features and tools.


05. PHP / TOOLS

OTHER PHP TOOLS Pattern Lab is a framework for developing the front end of web projects and applications. It allows developers and designers to make decisions about templates and shows different alternatives during the development process. Designs can also be tested in browsers. The tool facilitates front end design testing in small elements like buttons and labels for forms or complete templates with all their design components (logo, navigation, etc.).

Guzzle is a special framework comprising all the necessary tools for creating a client for REST services like Twitter or GitHub, a service for defining API inputs and outputs, high performance batch processing for sending large numbers of requests, etc. It also eliminates redundancy in the creation of web service clients, and has caching mechanisms for the parallel execution of responses and queries.


Perl Perl is a general-purpose easy-to-use programming language that allows developers to write code rapidly. It also has numerous libraries and modules that considerably extend its functionality for developing web projects.


06. PERL

Systems administration, online programming, development of web or CGI (Common Gateway Interface) projects, and much more. Perl is a general-purpose language currently enjoying a resurgence and increasingly being used in project development. This language is attractive today as it is a pseudo-compiled syntax that is distributed free and can be run on any platform with an interpreter for Perl. The basic features of this programming language are: •

It is easy to use and allows rapid programming.

It has a steep learning curve.

It has libraries and modules, which increases its functionality.

It supports structured, object-oriented and functional programming.

It has a text processing system.

It can be used in several environments: Windows, Mac OS X and Linux.


06. PERL / IDE

KOMODO IDE This Integrated Development Environment by ActiveState not only allows programming in Perl, but also in other programming languages such as Python, PHP, Go, HTML and Node.js. The idea behind Komodo IDE is to make it easy for programmers to develop interfaces in Perl thanks to features such as its version control, graphical debugger, unit testing system, online help and much more.

The latest advances in Komodo IDE make this a much more convenient and functional tool: • Has a panel that significantly reduces interruptions and time wasting in programming work. •

Has an intelligent collaboration system that alerts each member of the team as to which of their development co-workers are editing code within the IDE at the same time.

Rapid and automatic correction of syntax.

The new package installer enables users to incorporate new functionalities to the IDE based on the features of each project.

It introduces the focus mode, which enables elements within the IDE to be hidden.

Enhanced user interface. Integrated package manager. Creation of customized settings for everyday work. New notification system. A variety of color combinations and themes. Revision of its API: new SDK for developers.


06. PERL / IDE

EPIC

(Perl Editor and IDE for Eclipse)

EPIC is an open-code Integrated Development Environment with its own editor and debugger, based on the Eclipse platform and compatible with several systems: Windows, Linux and Mac OS X. It is a fairly routine IDE for developing projects, with CGI command sequences and whose integration with Eclipse's Graphical User Interface offers an interesting added value.

Its main features are: • Configurable coloring of syntax elements. •

Automatic detection of syntax errors during programming and when saving files.

Autocompletion of variables.

Execution control system.

HTML export function.


06. PERL / TEXT EDITORS

EMACS Emacs is an extensible, customizable selfdocumented real-time text editor for the Linux environment. It was written in 1975 by Richard Stallman and Guy Steele, two key names in free software. There are currently two versions of this text editor: GNU Emacs, developed by Stallman in 1984 and maintained since then by the Emacs GNU project; and XEmacs, another version of the editor based on the work of the first, launched in 1991.

Some of its key features are: • Simple text editing system: commands for handling words and paragraphs, highlighting of syntax to make the code easier to read, and the option of running keyboard macros through customized commands. •

The text editor can be modified to suit developers' needs by incorporating fragments of the Emacs Lisp code (code libraries, packages or plugins) with new functionalities: •

Calc: the editor incorporates a calculator.

Emacs/W3: a web browser.

ERC: an IRC client.

MULE: enables the editing of text written in several languages.


06. PERL / TEXT EDITORS

ULTRAEDIT UltraEdit is an advanced text editor for Perl, PHP, Java and JavaScript. This editor allows code programmers to handle files of over 4 GB. This is a pay tool, but it has a free trial period.

Incorporated search engine.

Add comments in a line or a block in the selected text.

Editable macros.

Some of its key features include: • Configurable highlighting of syntax.

Integration of scripting language to automate tasks.

Complete FTP support.

Design of customizable editor themes.

Multipanel FTP browser.

Backup copy and automatic storage system.

Smart templates.

Code folding function to allow to hide the parts of the code they have no need to see.

Complete list of functions.

CSS style editor.


06. PERL / TEXT EDITORS

TEXTMATE TextMate is a text editor with Graphical User Interface (GUI) for the Mac OS X operating system. It was developed by Allan Odgaard. It has a large community that launches public contributions to customize the editor according to the needs of each project. This editor is constantly being improved.

Some of its key features: • Text search-and-replace function in a project. •

Search and replace text with regular expressions.

Dynamic format for working with several files.

Blocks of folding code.

Clipboard history.

Recording of macros without the need for programming.

Browsing between files by using tabs.

Customizable editor through a range of themes.


06. PERL / FRAMEWORKS

MOJOLICIOUS

CATALYST

Mojolicious is a real-time web framework for developers in Perl. It was created by Sebastian Riedel. This development framework uses the standard Model-View-Controller (MVC) pattern and supports CGI, FastCGI and PSGI. The framework also supports RESTful routes, plugins, signed cookies, unit testing, static file servers, templates, JSON format and more. The website for this framework also has very useful documentation for beginners.

Catalyst is an open-code web framework that uses a Model-View-Controller pattern. It is multiplatform and has ample documentation thanks to a large community of developers who ensure constant and ongoing enhancements for this software development brand. It is inspired by Ruby on Rails.


share THIS MIGHT INTEREST YOU

Innovation Edge: APIs: The business benefits of APIs

Ebook: Wearables, mobile revolution

Infographic: how to develop an app for WatchKit

Ebook: Data visualization tools for users

Apple's new services and APIs for applications developers in iOS 9


BBVA no BBVA is not resposible for the opinions expressed here in

Sign up To keep up to date with the latest trends

www.bbvaopen4u.com

Interact with us on:


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.