¿Cuáles son algunas herramientas, consejos, mejores prácticas y consejos para alguien que es nuevo en proyectos de aplicaciones web?

Creo que, en cuanto al flujo de trabajo, hay muchas variables que probablemente no consideres al comienzo de un proyecto de aplicación web.

Puedo mostrarle cómo (en Usersnap) abordamos los proyectos de aplicaciones web desde una perspectiva técnica / de infraestructura:

¿Cómo empezar?

¿Qué lenguaje de programación, qué base de datos, qué herramientas de software debería elegir? Hay muchas preguntas que deben responderse al principio.

¿Qué lenguaje de programación?

Crear una aplicación web significa crear un producto con lenguajes de programación modernos.

Además de las habilidades y destrezas personales, la elección de su lenguaje de programación estará influenciada por las posibilidades de cada idioma. Existen varios lenguajes de programación (modernos) que hacen que sea difícil elegir el correcto.

Eche un vistazo a los más destacados, juegue con ellos e intente experimentar tanto como sea posible.

=> Terminamos usando Python.

La base de datos perfecta

Entonces, una de las primeras cosas en su lista incluirá la instalación de una base de datos. Recomendamos utilizar una base de datos orientada a documentos . Las bases de datos de documentos son bastante diferentes al concepto tradicional de bases de datos relacionales.

¿Por qué elegir una base de datos orientada a documentos?

Las bases de datos de documentos obtienen su tipo de información de los datos en sí. Por lo tanto, cada instancia de datos puede ser diferente de cualquier otra. Esto lo hace más flexible para manejar el cambio y los valores opcionales, se asigna más fácilmente a los objetos del programa y, a menudo, reduce el tamaño de la base de datos.

En resumen, el concepto DOB ​​está diseñado para ofrecer una experiencia más rica con técnicas modernas de programación.

=> Terminamos usando MongoDB.

AWS y EC2

Al crear una aplicación web escalable, probablemente termines usando Amazon Web Services tarde o temprano.

AWS le permite alojar y ejecutar sus aplicaciones web, así como realizar trabajos por lotes masivos de alto rendimiento. Con Elastic Compute Cloud (EC2), AWS proporciona servidores virtuales escalables para todas las empresas.

Configurar un CDN

Una red de entrega de contenido es básicamente un sistema de servidores distribuidos que le permite servir contenido a los usuarios de su aplicación con alto rendimiento y alta disponibilidad.

Supongamos que tiene 3 EC2 instalados. Uno en los Estados Unidos, uno en Europa y uno en Singapur. Si alguien de Nueva York visita su aplicación, el CDN le permite servir contenido al usuario a través del EC2 ubicado en los EE. UU.

También escribí sobre este flujo de trabajo en detalle en este artículo: Fundamentos sobre la construcción de una arquitectura SaaS basada en la nube

También recomiendo consultar los siguientes recursos:

  • La lista definitiva de recursos de desarrollo web
  • Lo que nadie te dice sobre trabajar en desarrollo web
  • El último tutorial de desarrollo web

Realmente no entiendo exactamente cuál es tu pregunta. ¿Quieres saber qué gestión de proyectos hay dentro del desarrollo web? ¿O quieres conocer el desarrollo web?

El flujo de trabajo para mí con un proyecto de desarrollo web está en los siguientes pasos:

  1. Sepa lo que quiere construir, o cuando tenga clientes (que todavía no tiene, supongo que cuando hace esta pregunta) sepa lo que quieren. Por ejemplo: un sitio web inmobiliario
  2. ¿Sabe qué modelos necesita (¿qué entidades hay?) Quién usa el sitio web y qué usa el sitio web? Los ejemplos de modelos son: Usuario, Casa, Agencia (no sé si estoy eligiendo la palabra correcta, lo que quiero decir es un ‘vendedor’ de bienes raíces). Además, ¿qué necesita tener el modelo? ¿Un nombre? ¿Un correo electrónico? ¿Necesitas recuperar eso con un método getter?
  3. Defina las relaciones entre sus modelos, una agencia puede tener muchas casas y la mayoría de las veces una casa controla una casa. Así que de la agencia a la casa es un hasMany. De casa en agencia es hasOne.
  4. Con estos modelos y relaciones puede comenzar a construir su base de datos.
  5. Código
  6. Probablemente descubrirá que en los pasos del 1 al 4 se perdió algo, por lo que lo ajustará de acuerdo con sus hallazgos
  7. Codifica un poco más
  8. Prueba
  9. Corregir errores
  10. Desplegar

Si quieres saber cómo convertirte en desarrollador web, puedo darte una respuesta, pero eso sería demasiado vago. He hecho todo tipo de cosas: videos, libros, tutoriales en internet. Lo mejor que puede hacer es: leer un libro o mirar un video y, mientras lo hace, tenga en cuenta casi todo lo que considere interesante. Luego, después de haber anotado lo suficiente para el día, comience a probar en la computadora lo que acaba de anotar. Aprendes lo mejor de esta manera en mi opinión. Usted ve, nota y hace.

¡Buena suerte!

Que aprendí

Error -> Reparar -> Error -> Reparar-> Error -> Reparar-> Error -> Reparar-> Error -> Reparar

Por lo tanto, debe planificar muy bien antes de codificar parte.

Debe conocer la estructura de la tabla clara.

Herramientas

Git

Marco (si lo hay). Porque reduce nuestro trabajo.

More Interesting

¿Cómo se puede usar la programación funcional en aplicaciones web, cuando las aplicaciones web tienen estado?

Reto académico para asegurar el procesamiento de texto HTML: puede ir en contra de la idea de la web, pero ¿es esto posible?

¿Existen buenas aplicaciones web de código abierto (preferiblemente basadas en LAMP) para crear cuestionarios de autoidentificación política?

¿El mejor lugar para configurar el inicio de su aplicación móvil?

¿Es cierto que md5 no es lo suficientemente seguro para las aplicaciones web?

¿Necesito aprender el desarrollo web front-end antes del back-end?

Cómo crear una aplicación web usando WordPress sin codificar simplemente arrastrando y soltando

¿Dónde puedo aprender cómo hacer aplicaciones web golang?

¿JavaScript será reemplazado por WebAPI (API del lado del cliente de FireFox)?

¿Cuál es el punto de mantener la autenticación de múltiples proveedores (Facebook, Twitter, etc.) y ponerlos en una cuenta en su sitio web (por ejemplo, Quora)?

¿Cómo crearía una aplicación web para que la gente pueda enumerar los autos que están a la venta?

¿Puedo usar mi habilidad de ds y algoritmos en el desarrollo de software en tiempo real, como aplicaciones web que usan Java?

¿Por qué hay mucho desarrollo en el campo de JavaScript (nodo, express, Mongo, etc.) para aplicaciones web empresariales escalables mientras ya tenemos una tecnología probada como Java EE, .NET y PHP?

¿Se están moviendo las aplicaciones web modernas a Python-Django?

¿Qué arquitectura de framework de aplicaciones web es más apropiada y por qué?