Las pilas web simples y modernas generalmente se crean de la siguiente manera:
- Bases de datos : las bases de datos se utilizan para almacenar datos de forma permanente o temporal para su aplicación. Puede elegir una base de datos relacional, una base de datos de documentos, una base de datos de árbol, una base de datos de valores clave, etc. Todo se reduce al tipo de datos que necesita almacenar y al tipo de operaciones que necesita realizar en los datos.
Casi siempre tendrá una base de datos, y es bastante común usar más de un tipo de base de datos en un proyecto para diferentes tipos de datos. - Backend : necesitará un código de backend para servir sus archivos y datos. Esto se puede basar en varios lenguajes: Python, Ruby, PHP, C #, Java, JavaScript y varios marcos que generalmente proporcionan algunas funcionalidades y bibliotecas comunes, como: Django, Rails, Symfony, Zend, CakePHP, IgnitePHP, Play Framework, Node.js, etc. Además, puede encontrar bibliotecas que realizan tareas comunes en casi cualquier idioma.
En el pasado, casi toda la lógica y funcionalidad del sitio web se implementaba en el backend. Sin embargo, se requiere que las aplicaciones web modernas sean muy rápidas y receptivas, y generalmente ofrecen una gran cantidad de funcionalidad en el lado del cliente, sin actualizar la página. Por lo tanto, algunas aplicaciones web más nuevas se apoyan en el backend y gruesas en la interfaz. - Frontend : casi siempre basado en una combinación de HTML, JavaScript y CSS. Comúnmente, HTML generalmente define el contenido de la página, JavaScript define la funcionalidad y CSS define de manera óptima el estilo, el diseño y el diseño. Existen varios motores de plantillas HTML y CSS, ya sea en el lado del cliente (el navegador) o en el servidor lado (el backend). Es principalmente una cuestión de gusto personal. También hay muchas bibliotecas para JavaScript. jQuery le permite manipular la página fácilmente, el subrayado permite operaciones comunes. Hay bibliotecas para casi cualquier cosa. Backbone.js y Ember.js permiten algún tipo de marco para ayudar a mantener su código más organizado.
Hoy en día, puede mezclar casi cualquier backend con cualquier base de datos común, y puede usar cualquier biblioteca o marco que desee en la interfaz, independientemente del backend y la base de datos.
En pocas palabras, esta es mi recomendación:
- Elija una base de datos basada en el tipo de datos que necesita almacenar y el tipo de operaciones que necesita realizar (tabla, documentos, árboles, pares, etc.).
- Elija un idioma de back-end con el que esté más familiarizado y lo haga feliz. Realmente no importa. Una vez que elija un idioma, se prefiere usar un marco para evitar el código repetitivo y mantener las cosas más seguras y estructuradas. Nuevamente, es una cuestión de sus necesidades y preferencias personales.
- Construya la interfaz utilizando HTML, JavaScript y CSS. Manipular el HTML usando JavaScript es engorroso, por lo que te recomiendo que uses una biblioteca como jQuery, Zepto o similar para hacerlo. Si cree que tendrá varios miles de líneas de código JS, considere usar un marco MVC como Angular.js, Backbone.js o Ember.js. Si su sitio es HTML o CSS pesado, considere usar un motor de plantillas HTML o un lenguaje como SASS / LESS.
- Según las bases de datos y el backend que haya elegido, descubra cuál es el mejor lugar para alojar su aplicación. Varias opciones comunes son Heroku, Amazon EC2, Rackspace Cloud, Google AppEngine y EngineYard
Espero que esto responda a su pregunta.
- ¿Qué tecnologías y en qué orden debo aprender a convertirme en un desarrollador web de pila completa? Apreciaré escuchar sobre algunos libros y recursos para aprender.
- Cómo publicar una matriz multidimensional de botones de opción y casillas de verificación en MySQL usando PHP sin alterar los índices
- Como novato que quiere crear una aplicación web de citas en línea, ¿qué necesito saber y qué habilidad necesito tener?
- ¿Es bueno ser un diseñador web y desarrollador de programas lado a lado?
- ¿Cuál es el servicio web más innovador para crear marcos de alambre?