Existen muchos recursos en la web que dan un valiosa ayuda en el desarrollo de aplicaciones web. Por tal razón, muchas veces resulta una tarea abrumadora crear una lista lo más breve posible.
He realizado una selección de los recursos online que han sido valiosos en mi trabajo, y he procurado organizar de un modo que le sea útil a otros desarrolladores iniciándose en la plataforma web o móvil. EN la organización de la selección he comenzado por los temas básicos, relativos a filosofías de diseño y lenguajes de programación.
Nuestra Selección de Recursos...
En cualquier desarrollo web, independiente de su tamaño y/o alcance, necesitamos tener un manejo en los tema de: HTML, CSS, Javascript, SQL, Diseño Orientado a Objetos, y al menos un lenguaje de servidor (PHP o Javascript en el servidor).
Por lo tanto, iniciamos la lista de recursos (un Bookmarks), separadas en las siguientes temáticas:
- Lecturas base recomendadas.
- Frameworks y ORM's para Desarrollo Web Backend.
- CMS's de valor.
- Frameworks Frontend.
- Herramientas para Integración Contínua en PHP
- Herramientas para el Desarrollo Móvil.
- Utilerías y librería de clases.
- Frameworks y Utilerias para desarrollo movil.
- Trabajando con Expresiones Regulares.
- Herramientas para Automatización.
- Populares Servicios de Hosting.
- Lista de recursos no clasificados.
Recursos Base para el Desarrollo Web
- Joe Celko un experto en SQL:
http://joecelkothesqlapprentice.blogspot.com/ - Martin Fowler una autoridad en el desarrollo de software (desarrollo orientado a objetos): http://martinfowler.com/
- Fabien Potencier el creador del Framework Symfony y otros magnificos proyectos para PHP: http://fabien.potencier.org/
- Node.js: Una potente herramienta para desarrollar aplicaciones web que se comportante como aplicaciones de tiempo real:
http://nodejs.org/
http://socket.io/ - Diseño y Programación Orientada a Objetos (D/POO): Un excelente recurso para aprender el diseño de patrones es:
http://sourcemaking.com/ - Recomendaciones para desarrollar en PHP: Lo que todo desarrollador en PHP debe conocer.
http://http://www.phptherightway.com/ - Temas ineludibles: Servidor Web, HTML, CSS3 y Javascript:
- Documentación oficial de Apache: El servidor web más usado en la internet es Apache, por lo tanto es escencial conocer las directivas de configuración de Apache para poner en línea, de manera efectiva y segura, una Aplicación Web.
- El Modelo de Objeto del Documento HTML (DOM).
- Características soportadas de CSS3 en Internet Explorer:
Estilos CSS3 en IE - Nociones fundamentales de Javascript:
Javascript 101, Profundizando en Javasciprt, Aspectos escenciales de Javascript
Frameworks y ORM's para Desarrollo Web Backend:
Muchas veces necesitamos aumentar la eficiencia en el desarrollo web, una manera de hacerlo es mediante el uso de framework o herramientas de abstracción de la base datos.
Dependiendo del lenguaje de desarrollo, hay una amplia variedad de opciones, tales como:
- Perl Frameworks:
- Ruby: Ruby on Rails (RoR)
- PHP Frameworks:
- ORM's:
No recomendaría iniciar un Proyecto Web tradicional sin un buen ORM, a excepción que la carga de recursos adicionales usados por el ORM comprometan significativamente el rendimiento de la aplicación, un caso uno en un millón.
Una popular opción de ORM para PHP es Doctrine.
CMS's de valor:
Cuando no necesitamos la flexibilidad en el desarrollo que nos provee un Framework, especialmente en aplicaciones web relativamente simples, una buena alternativa son el uso de CMS's. Dentro de los CMS de nivel empresarial Open Source, que podemos recurrir a:
Otros buenos CMS's empresariales, aunque de pago (al menos en sus versiones robustas), son Expression-Engine y EZ Publish.
Frameworks Frontend:
La labor del diseño de interfaces web, en particular para programar el comportamiento de la interfaz con el usuario, se ve facilitada por populares frameworks para Javascript:
Además, es interesante ver las proyectos iniciados en jQuery.org
Herramientas para Integración Contínua en PHP
Phing es una versión de Apache Ant para PHP, se puede leer una breve intro en http://phpmaster.com/using-phing/.
Herramientas para el Desarrollo Móvil:
Migrar desde una aplicación web (HTML5) hacia una aplicación movil, es facilitado por:
Utilerías y librería de clases:
Existe un amplio repositorio de recursos en internet, aunque no siempre la buena calidad sea una constante. En especial, cuando buscamos clases (o bibliotecas) que colaboren en nuestro código para soportar requerimiento específicos.
Buenas repositorios de código (PHP o Perl) son:
Utilerías que aceleran escritura de código:
Para manejar las discrepancias de renderización del código en los navegadores, utiles recursos son:
Frameworks y Utilerias para desarrollo movil:
Otros recomendables recursos para agilizar el desarrollo de aplicaciones móviles son:
Trabajando con Expresiones Regulares (RegEx)
Es innegable, que el manejo de expresiones regulares es una tarea que se da con cierta frecuencia en el desarrollo web. Útiles recursos en este tema son:
Herramientas para Automatización
La automatización de procesos es un concepto muy general, en administración de sistema Perl es un lenguaje muy útil en este campo, por tal razón se agregan algunos enlaces a útiles recursos para aprender el lenguaje Perl.
Automatizando el proceso de testeo de aplicaciones web.
Populares Servicios de Hosting:
Donde alojar nuestra aplicación web, hoy en día existen muchos servicios de hosting. Sin embargo, entre todos ellos, destacan algunos en popularidad por ofrecer buenas características de calidad, precio y escalabilidad:
Lista de recursos no clasificados:
Además de nuestra clasificación anterior, no podemos dejar de considerar una serie de artículos que han colaborado de algún modo en desarrollo de páginas web dinámicas:
Recursos CSS:
- Aplicado estilos CSS a listas:
- Técnicas para la creación de listas usando CSS:
http://www.noupe.com/css/essential-html-lists-styling-techniques.html - Haciendo distintos estilos de listas en CSS:
http://css.maxdesign.com.au/listamatic/
- Técnicas para la creación de listas usando CSS:
- Estilizando formularios HTML usando CSS:
http://woork.blogspot.com/2008/06/clean-and-pure-css-form-design.html - Guía para desarrollar nuestro propio Framework CSS:
http://www.w3avenue.com/2009/04/01/guidelines-for-developing-your-own-css-framework/ - Aprendiendo el posicionamiento en CSS en simples 10 pasos:
http://www.barelyfitz.com/screencast/html-training/css/positioning/
Bases de Datos:
- Integridad referencial en Bases de Datos MySQL:
http://www.clubdesarrolladores.com/articulos/mostrar/90-integridad-referencial - Construir una plantilla para generar procedimientos almacenados:
http://community.codesmithtools.com/CodeSmith_Community/b/tutorials/archive/2006/02/15/StoredProcedures.aspx - Acerca del Oracle Data Provider para .NET :
http://www.oracle.com/technetwork/topics/dotnet/index-085163.html - Iniciandose con SQLite y .NET:
- Ricardo Galli el creador de MENEAME.NET:
http://gallir.wordpress.com/2011/02/02/optimizando-obsesivamente-las-consultas-al-mysql/ - Mini Tutorial de SQLite:
http://www.forosdelweb.com/f21/mini-tutorial-sqlite-zegaz-800653/
Misceláneos:
Más temprano que tarde, nos veremos en la necesidad de llevar a cabo tareas del tipo: Capturar información desde la web sin una API establecida (uso de cURL), o configurar un stack de servicios web (Apache, MySQL), o procesado imágenes programáticamente (ImageMagick). Sobre temas de ese tipo encontramos:
- 5 maneras simples de agregar cURL a una página web:
http://www.webdesignbooth.com/5-extremely-simple-ways-to-add-page-curl-to-your-website/ - Guia de configuración de Apache:
http://httpd.apache.org/docs/2.2/ - Proyectos basados en ExtJS:
http://superdit.com/2010/07/03/project-based-on-extjs/ - Crear una aplicación productiva para iOS:
http://www.programadorphp.org/blog/cursos/crear-una-aplicacion-productiva-y-social-para-ios-con-interfaz-web/ - DotNetNuke sobre Oracle:
http://weblogs.asp.net/christoc/archive/2009/10/28/can-you-run-dotnetnuke-on-oracle.aspx - Instalando Imagemagick sobre Windows:
http://www.learningmovabletype.com/a/001866installing_imag/ - Iniciandose con Movabletype:
http://www.webmonkey.com/2010/02/get_started_with_movable_type/ - Elegiendo el mejor CMS para reemplazar a Wordpress:
http://www.netmagazine.com/features/free-cms-guide-best-alternatives-wordpress - Instalando un servidor LAMP sobre Ubuntu 12.4:
http://library.linode.com/lamp-guides/ubuntu-12.04-precise-pangolin?format=print#sph_id6 - Tutorial de PHP:
http://flanagan.ugr.es/php/intro.htm - Inyección de Dependencias en PHP (temática de POO):
http://www.symfony.es/noticias/2009/04/02/inyeccion-de-dependencias-en-symfony-2/
POO significa Programación Orientada a Objetos.
Zend Framework:
Popular Framework PHP, que usan como base varios sistemas de clase empresarial, como es el caso de Magento:
- Usando Zend Framework 2 con Netbeans: http://angelorum.blogspot.com/2010/09/zend-framework-2-vista-general.html
- Aspectos básicos acerca de Zend Framework: http://www.ibm.com/developerworks/opensource/library/os-php-zend1/
Lenguaje Perl:
El lenguaje Perl sigue ocupando un lugar destacado, tanto como el automatización de tareas en la administración de sistemas Unix, o en el desarrollo web:
- Estructuras de Control en Perl:
http://www.cicei.ulpgc.es/ocon/gsi/tutorial_perl/cap5.htm - Mini-Tutorial de Perl:
http://foro.elhacker.net/scripting/tutorial_perl_desde_cero-t187326.0.html - Tutorial de Perl:
http://flanagan.ugr.es/perl/ - Averiguando el nombre de los scripts:
http://perlenespanol.com/foro/nombre-de-script-que-invoca-a-otro-script-t4753.html - Fundamentos de Perl:
http://www.ccg.unam.mx/~contrera/bioinfoPerl/node3.html - Creando thumbnails usando Perl:
http://perlenespanol.com/tutoriales/graficosimagenes/creando_thumbnails.html - Conectarse a una Base de Datos:
http://perlenespanol.com/tutoriales/bases_de_datos/como_conectarte_a_tu_database.html - Programación en Perl efectiva:
http://static.usenix.org/publications/perl/perlindex.html - Guía de Referencia de Perl:
http://www.rexswain.com/perl5.html#systeminteraction - Aprendiendo Perl en menos de 3 horas (muy completo):
http://qntm.org/files/perl/perl.html - Perl Moderno (2011-2012):
http://modernperlbooks.com/books/modern_perl/
Curiosidades
- http://www.codinghorror.com/blog/
- Otros recursos para Twitter Bootstrap: http://www.webresourcesdepot.com/20-beautiful-resources-that-complement-twitter-bootstrap/
- Página de los creadores de Framework (Open Source) Ruby on Rails: http://37signals.com/