Guía de introducción a Python
Introducción a Python, el lenguaje con más proyección de futuro. Multiparadigma, multiplataforma, interpretado, orientado a objetos y diseñado para ser simple
Crear mapas interactivos con Leaflet
Creación de mapas interactivos con Leaflet, una de las mejores alternativas gratuitas a Google Maps. Marcadores personalizados y muchos otros elementos
Jekyll y los generadores de sitios web estáticos
Sitios estáticos vs dinámicos ¿cuál es la diferencia entre un sitio web estático y un sitio web dinámico? Son sitios web dinámicos aquellos que permiten al usuario: iniciar sesión; comprar en un e-commerce (acceso al stock del producto, transacción, …); publicar un comentario;… y en general cualquier acción que requiera la interacción con una base…
Creación de un sitio web con Jekyll y GitHub Pages
Aprenda a crear un sitio web estático, veloz como el viento, completamente suyo y de alojamiento gratuito con Jekyll y GitHub Pages
Introducción al desarrollo de aplicaciones móviles · apps
Introducción al desarrollo de aplicaciones móviles o apps. Aplicaciones móviles web e híbridas
Leer más Introducción al desarrollo de aplicaciones móviles · apps
Introducción a programación web con JavaScript
Introducción a la programación en entornos web con JavaScript
Distribución Anaconda Python/R · introducción
Instalación y primeros pasos con Anaconda, el IDE libre más popular para Python. Jupyter Notebook, Instalación de Tensor Flow y Keras, …
Entornos de Desarrollo Integrados (IDE) y editores de texto
Otras aplicaciones de edición de textos, también catalogadas como IDE, pueden verse aquí.
Distribución Anaconda
Descarga |
Como su nombre indica, no es un simple IDE. Anaconda es una distribución Python, gratuita y libre, fácil de instalar, con multitud de herramientas libres. El entorno de desarrollo libre probablemente más completo y recomendable para un desarrollador Python.
Light Table
Light Table es un IDE libre, multiplataforma y personalizable, compatible con Windows, Linux y OS X. Los lenguajes núcleo soportados hasta ahora son Javascript, Clojure y Python.
Eric Python IDE
Potente y completa plataforma para el desarrollo en Python y Ruby. Su sistema de plugins permite la agregación de funcionalidades descargables desde la web. Una opción muy recomendable. Algunas de sus características:
- Número ilimitado de editores
- Depurador integrado Python
- Resaltado de sintaxis configurable
- Autocompletado
- sistema integrado de documentación del código fuente
- funcionalidad de búsqueda avanzada
Instalación de Eric6
Aunque la forma más fácil es buscar la aplicación en el gestor de paquetes de la distribución (p.ej. está disponible en ‘Software de Ubuntu’), el método de recomendado instalar Eric en un entorno virtual, a través de línea de comando:
# Reemplazar 'eric6_venv' por la ruta al directorio del entorno virtual deseado:
sudo python3 -m venv eric6_venv
# Sin embargom, en sistemas Debian/Ubuntu este método fallará, y serán necesario el comando:
sudo apt-get install python3-venv
# Extraer archivos del paquete descargado.
# Instalación vía el script "install.py". Reemplazar por la ruta real del ejecutable Python:
~/eric6_venv/bin/python3 install.py
Para más detalles, buscar el fichero README.rst o similar, en el paquete descargado.
Bluefish
Sitio web | descarga | manual |
Licencia: GPL-2.0
Bluefish es un sencillo y ligero editor dirigido a programadores y desarrolladores web.
Soporta numerosos lenguajes de marcado (como HTML) y programación.
TinyMCE
TinyMCE es un editor de texto de tipo WYSIWYG para HTML open source bajo licencia LGPL. Funciona completamente en JavaScript , lo cual lo hace independiente de la plataforma y se ejecuta en el navegador de internet.
TinyMCE puede usarse como plugin, instalándolo en cualquier aplicación web o CMS, también en WordPress en forma de plugin.
Las ventajas de los editores Wysiwyg son obvias, facilitan la edición web, sobre todo a aquellos que no saben código. Algunas desventajas:
A menudo crean código innecesario (llamado a veces código basura) que puede incidir en el peso de la web y el posicionamiento (SEO).
Distribución XAMPP: Apache + MariaDB + PHP + Perl
Sitio oficial en español | FAQ Linux XAMPP |
Licencia: GNU
XAMPP es una distribución de Apache gratuita que contiene MariaDB, PHP y Perl. También incluye otros módulos como OpenSSL y phpMyAdmin.
El paquete de instalación de XAMPP es muy fácil de instalar y usar, por lo que recomiendo encarecidamente la instalación de XAMPP en vez de los mismos módulos por separado.
XAMPP fue inicialmente diseñado como herramienta de desarrollo, proporcionando un entorno de pruebas aislado de Internet. Sin embargo, actualmente XAMPP es usado como servidor web en producción, con las modificaciones de seguridad adecuadas.
Bitnami XAMPP
Bitnami proporciona herramientas gratuitas para instalar muchísimas aplicaciones de forma integrada en XAMPP. Entre muchas otras: Drupal, Joomla!, WordPress, … Visita Bitnami XAMPP o accede a la sección de complementos de XAMPP.
NetBeans
Desarrollo de aplicaciones de escritorio, móviles o web, con Java, JavaScript, HTML5, PHP, C/C++ y más. Libre y gratuíto.
IDE de propósito general, aunque con funcionalidades para bases de datos. Por comparación, MySQL Workbench es más especializado para tareas con BBDD.
Eclipse
IDE de propósito general. Eclipse, aunque mucho más potente y completo que otros IDEs, es también más complejo. Tiene funcionalidades para muchos lenguajes.
Kdevelop
KDevelop es un IDE disponible para Linux y otros sistemas tipo Unix.
phpMyAdmin
[clienteMariaDB][IDE]
Sitio oficial |
IDE orientado a la gestión de bases de datos sobre la web. Es bastante más limitado que otros IDEs, quizá el más sencillo de todos, aunque también por ello fácil de usar.
Permite la creación de diagramas.
MySQL Workbench
Licencia: versiones open source y comercial.
SOs disponibles: Linux, Windows y MacOS.
MySQL Workbench es una herramienta visual de diseño de bases de datos que integra modelado, desarrollo, administración, diseño, administración de usuario, backups, creación y mantenimiento de bases de datos MySQL.
Entre otras funcionalidades, Workbench permite crear una BBDD de forma automática a partir de un diagrama.
MySQL Navigator
[clienteMariaDB]
Licencia: GPLv2
Ejecutar consultas al servidor, local o remoto; administrar usuarios; gestionar copias de seguridad; …
Instalación desde derivados de Debian:
sudo apt-get install mysql-navigator
SPE (Stani’s Python Editor, Entorno de desarrollo integrado Python)
Licencia: Código abierto.
Disponible desde el gestor de paquetes de distribuciones Debian.
Spe es un IDE Python con auto sangrado de párrafos, autocompletado, resaltado y coloreado de texto, visor UML, y muchas otras funcionalidades. Cabe destacar su soporte para Blender con el buscador de objetos 3D Blender, y la posibilidad de ejecutarse interactivamente dentro de Blender.
Pycharm
Pycharm es, probablemente, el IDE más popular para Python. Multiplataforma. Dispone de una versión comercial y una libre, la Community Edition, bajo licencia Apache.
Avalado por muchísimos expertos, la versión de pago, de excepcional calidad, con soporte completo para desarrollo web con Django, Flask, Mako y Web2Py, y permite el desarrollo en remoto. Parece ser que existe la posibilidad de obtener una licencia profesional si vamos a desarrollar open source.
Otros IDEs descartados
Una serie de IDEs populares, se presentan a modo de referencia, junto con el motivo por el que han sido descartados como productos de software recomendados.
HeidiSQL. funciona sobre Windows. Para utilizarlo sobre Linux, es necesario recurrir a Wine, por lo que no lo recomiendo a usuarios Linux [2/2017]. No obstante es un potente cliente, diseñado para desarrolladores web, para MySQL, MariaDB, Microsoft SQL Server y PostgreSQL. Es Software libre.
Sublime text. Excepcional editor de texto que, desafortunadamente, es comercial. Afortunadamente existen editores multipropósito libres como p.ej Atom, que no tiene nada que envidiarle.
Compiladores, ensambladores e intérpretes
Aunque funcionan de diferente forma, por su similitud en el propósito para el que sirven, se agrupan en este espacio los compiladores, ensambladores, intérpretes y los preprocesadores.
Un compilador traduce un código fuente (texto escrito en un lenguaje de programación de alto nivel) en un código máquina (instrucciones que la máquina puede entender directamente). Lee todo el código de una aplicación y después crea la aplicación en consecuencia del resultado de tratar el código fuente como un único bloque. El ejemplo de lenguajes más populares compilados son C y C++.
Un intérprete lee y ejecuta a medida que es necesario, normalmente línea por línea. Podríamos decir que «ejecuta sobre la marcha», a medida que lee y traduce. Son ejemplos de lenguajes de programación que son normalmente interpretados en vez de compilados: Python, Rubí, PHP, Perl y JavaScript (todos los navegadores web funcionan interpertando código JavaScript).
En cuanto a lenguajes de programación compilados vs interpretados, no existe el concepto «peor» o «mejor», al menos en un sentido genérico. Solo existe el concepto de «mejor para cierta tarea concreta».
Un programa interpretado es normalmente más lento que si hubiera sido compilado. En contraposición a esto, los programas interpretados son más flexibles como entornos de programación y depuración.
Plataformas de desarrollo colaborativo y control de versiones
GitHub
GitHub es una plataforma colaborativa que utiliza el sistema de control de versiones Git para alojar los proyectos. Los usuarios pueden alojar sus proyectos de forma pública, existiendo versiones de pago que permiten además alojar repositorios privados.
GitHub ofrece, entre otras funcionalidades: una Wiki y una página web para cada proyecto, funcionalidades propias de redes sociales, herramienta para el trabajo colaborativo entre programadores.
Apache Subversion (control de versiones)
Licencia: Apache/BSD. Apache Subversion es un software libre de control de versiones, basado en un repositorio. Es útil para subir archivos a un servidor si este lo soporta, siendo su funcionamiento muy similar al de un sistema de ficheros.
Entre dos revisiones guarda sólo las modificaciones, optimizando así el espacio en disco.
Subversion puede acceder al repositorio a través de redes, por lo que puede ser usado por personas que se encuentran en distintas computadoras.
Entre otros proyectos, Subversion es usado en Django, en el migrado a Git. Entre otros servicios que proporcionan almacenamiento gratuito usando Subversion, están SourceForge, Google, Code y GitHub.
Por otra parte, un gran complemento para Apache Subversion, en máquinas Linux, es RabbitVCS. Este es un conjunto de herramientas gráficas que permiten un fácil acceso. Actualmente, ofrece integración con Subversion y Git.
Apache Allura
Apache Allura es un software libre de los denominados «forge». Con este es posible administrar repositorios de código fuente, páginas wiki, reporte de errores, tickets, blogs y mucho más.
Inteligencia artificial
El fenómeno y nuevo reto de conseguir que las máquinas aprendan de su propia experiencia es denominado Deep learning o aprendizaje automático.
Tensor Flow (Deep learning, aprendizaje automático)
Una plataforma de machine learning de software libre de extremo a extremo.
Enlaces relacionados
Anaconda, Jupyter Notebook, TensorFlow and Keras for Deep Learning. Margaret Maynard-Reid nos habla sobre este conjunto de tecnologías clave.
Otras herramientas de programación
mypy, comprobación de tipo estático para Python
| Documentación mypy | Artículo: Cómo Mypy podría simplificar la compilación de Python |
Podemos comentar eficientemente nuestro código y usar mypy para verificar si hay errores comunes en este.
Si llenamos nuestro código con anotaciones de tipo, mypy puede tipear nuestro código y encontrar errores comunes. Como mypy es un analizador estático, las anotaciones de tipo de su código son sólo sugerencias y no interfieren cuando se ejecuta nuestro programa.