28 herramientas open source imprescindibles
A la hora de comenzar a trabajar en un proyecto hay varios aspectos muy importantes que deben ser tenidos en cuenta. Uno de ellos es minimizar los costes.
También es importante saber que las herramientas que vamos a utilizar, además de que supongan un gasto moderado, nos den la seguridad de que están respaldadas con suficiente contenido.
Aquí es donde intervienen las herramientas de código abierto, más conocidas como open source.
En estas líneas vamos a intentar dar las claves de las principales herramientas que se pueden utilizar a día de hoy sin hacer gasto alguno en ellas.
Para hacer la lectura más sencilla, vamos a dividir las herramientas en secciones.
El open source nos ofrece casi infinitas soluciones para trabajar minimizando gastos.
Esta lista es solo una milésima parte de todas las herramientas que podemos encontrar en la web para trabajar en nuestro proyecto, seguro que encuentras las adecuadas para ti.
Hemos considerado estas herramientas, pero hay muchísimas más, y las que están por venir.
Herramientas de Entorno de Desarrollo Integrado (IDE) Open Source
Netbeans
El IDE que Sun Microsystems lanzara allá por el año 2000 es uno de los más utilizados por la comunidad de desarrolladores en todo el mundo. Aunque en principio fue considerado para trabajar con Java, actualmente se ha adaptado a los tiempos y reúne una serie de características que lo hacen muy atractivo para utilizar con otros lenguajes.
Atom
Es el editor de texto desarrollado por Github. Estéticamente llama mucho la atención porque cuidan mucho los detalles, además de ser muy fácil de usar. Muy similar al Sublime Text, pero con la diferencia de que Atom es gratuito.
Herramientas de desarrollo web frontend Open Source
Bootstrap
Originariamente utilizada por los desarrolladores de Twitter, Bootstrap fue toda una revolución, sobre todo para aquellos que no se atrevían a maquetar páginas web. Con este framework, que contiene plantillas de diseño con tipografía, formularios, botones, cuadros, menús de navegación y otros elementos de diseño basado en HTML y CSS, así como, extensiones de JavaScript opcionales adicionales, se pueden realizar muy fácilmente plantillas web que con HTML y CSS llevarían muchísimo tiempo. Actualmente está la versión 3, pero ya se trabaja en la 4.
jQuery
Este framework de Javascript es el más utilizado en el mundo. La característica principal de esta biblioteca es que permite cambiar el contenido de una página web sin necesidad de recargarla, mediante la manipulación del árbol DOM y peticiones AJAX.
Javascript
Es el lenguaje de programación del lado del cliente por antonomasia. Es un lenguaje orientado a objetos, débilmente tipado y dinámico. Desde junio de este año está disponible la versión ECMAScript 6.
Backbone
BackboneJS es una librería para el desarrollo de sitios web, principalmente usada para aplicaciones web con bastante interacción con el cliente, donde se hace un uso intensivo de Javascript, Ajax, etc. Te permite desarrollar en Javascript atendiendo a patrones, con una variante del paradigma MVC (Modelo Vista Controlador).
Apache Cordova
También conocido como PhoneGap, es un framework para el desarrollo de aplicaciones móviles. Actualmente sirve como herramienta, junto a Angular, de otras librerías como Ionic .
AngularJS
Uno de los frameworks más demandados en la actualidad. Trabaja en la parte cliente de una aplicación, respeta el paradigma MVC y permite crear Single Web Applications (aplicaciones web que no necesitan ser recargadas). Detrás de Angular está el gigante Google.
Herramientas de desarrollo backend Open Source
PHP
Pese a tener más de 20 años, es uno de los lenguajes de programación más utilizado por los desarrolladores del lado del servidor. Sitios web como Wikipedia están desarrollados con PHP.
Java
Quizá el lenguaje más conocido en el mundo. Permite que el programa se escriba una vez y se ejecute en cualquier dispositivo. La versión actual es la 8.
Ruby
Muy popular desde hace pocos años, está creciendo de manera sorprendente su uso en el desarrollo web. Es un lenguaje de programación interpretado, reflexivo y orientado a objetos.
Python
Es un lenguaje de programación interpretado cuya filosofía hace hincapié en una sintaxis que favorezca un código legible. Se trata de un lenguaje de programación multiparadigma, ya que soporta orientación a objetos, programación imperativa y, en menor medida, programación funcional.
NodeJS
Es un entorno de programación en JavaScript para el Backend basado en el motor V8 de Javascript del navegador Google Chrome y orientado a eventos, no bloqueante, lo que lo hace muy rápido a la hora de crear servidores web y emplear tiempo real.
ExpressJS
Se trata de un framework que permite crear servidores web y recibir peticiones HTTP de una manera sencilla, lo que permite también crear APIs REST de forma rápida.
Bases de datos Open Source
MariaDB
Es un sistema de gestión de bases de datos derivados de MySQL. Posee dos motores de almacenamiento, Aria y XtraDB y además es totalmente compatible con MySQL.
PostgreSQL
Mediante un sistema llamado MVCC (acceso concurrente multiversión) permite que mientras un proceso escribe en una tabla, otros accedan a la misma tabla sin necesidad de bloqueos.
MySQL
Esta considerada la base de datos open source más importante del mundo. Permite el acceso a sus bases de datos a multitud de lenguajes de programación, que incluyen PHP, Ruby, C++ o Java.
Redis
Se trata de un motor de base de datos en memoria, basado en el almacenamiento en tablas clave/valor, pero que puede ser usada como una base de datos durable o persistente.
MongoDB
Mongo es una base de datos no relacional (NoSQL) que guarda los datos en documentos tipo JSON (JavaScript Object Notation) pero en forma binaria (BSON) para hacer la integración de una manera más rápida.
Sistemas de gestión de contenidos (CMS) Open Source
WordPress
Lanzado en 2003, fue inicialmente muy utilizado por la comunidad para la creación de blogs. Sin embargo, actualmente posee una enorme cantidad de plantillas que hacen de Wordpress una opción más que atractiva a la hora de configurar las páginas web.
Drupal
Es un sistema dinámico, ya que no almacena sus contenidos en archivos estáticos en el sistema de ficheros del servidor de forma fija. El contenido textual de las páginas y otras configuraciones son almacenados en una base de datos y se editan utilizando un entorno Web. Permite publicar artículos, imágenes o archivos y también ofrece la posibilidad de otros servicios añadidos como foros, encuestas, votaciones, blogs y administración de usuarios y permisos.
PrestaShop
Como podríamos intuir por su nombre, su principal aplicación es la creación de tiendas online de comercio electrónico. Es compatible con un gran número de pasarelas de pago electrónico.
Joomla!
Este CMS permite desarrollar sitios web dinámicos e interactivos. Además, es capaz de crear, modificar o eliminar contenido de un sitio web de manera sencilla a través de un “panel de administración”. Necesita estar respaldado por una base de datos.
Herramientas DevOps Open Source
Docker
Con Docker podemos automatizar la ejecución de aplicaciones dentro de contenedores de software. Permite que contenedores independientes se ejecuten dentro de una sola instancia de Linux.
Kubernetes
Es un gestor de grupos de contenedores creado por Google. La multinacional cedió el proyecto a la Cloud Native Computing. Su misión es proporcionar una plataforma para automatizar el despliegue, la escala y las operaciones de contenedores de aplicaciones a través de los hosts.
Cloud Computing Open Source
OpenStack
Es un proyecto de computación en la nube para proporcionar una infraestructura como servicio.
Editores Markdown Open Source
ReText
Es un editor de textos en Markdown escrito en Python. Usa librerías Qt, por lo que es capaz de ejecutarse en múltiples plataformas. Posee una ventana para ver en vivo lo que escribes y cómo se verá una vez implementado en la web.
HarooPad
Visualmente muy estético, es un procesador de textos multiplataforma, disponible para Windows, OS X y Linux. Es sumamente rico en funciones, de entre las cuales podemos destacar la capacidad de importar contenidos de YouTube, Twitter, Vimeo, Slideshare, Flickr, Instagram, Soundcloud y Wikipedia o para exportar en formatos HTML y PDF, y próximamente a WordPress, Tumblr, MediaWiki, EPub, ReStructured Text o RTF.