¿Qué tecnologías debo usar para desarrollar mi aplicación web?

Depende de una amplia variedad de condiciones, como:

  • Que ya sabes
  • ¿Tienes un presupuesto ?
  • ¿Tienes un marco de tiempo ?
  • ¿Existen requisitos estrictos de rendimiento ? (Supongo que por “receptivo” quieres decir en el sentido de “diseño” de diferentes tamaños de pantalla, no en el sentido del rendimiento).
  • ¿Hay requisitos de seguridad inusuales?
  • ¿Te imaginas extenderlo en el futuro?
  • ¿Qué tipo de capacidades necesita tener, como acceso a la base de datos (y luego, relacional, doc-store, key-value, alguna combinación o qué?), Enviar y tal vez incluso recibir correo electrónico o SMS o incluso llamadas telefónicas o faxes , recibiendo datos del sensor, motores físicos al mando, etc.
  • ¿Tiene que ser comercial , o es solo un juguete con el que quieres jugar?

Un par de otros puntos a tener en cuenta, incluso antes de abordar las preguntas anteriores:

  • ¿Las herramientas están lo suficientemente relacionadas como para que la tecnología adecuada para cada una sea la misma ? Frex, todos podrían ser perfectamente apropiados para aplicaciones web, pero uno de ellos es el más adecuado para Rails usando una base de datos relacional, mientras que otro es más adecuado para Node usando un almacén de documentos, etc.
  • Incluso si es así, ¿las herramientas están lo suficientemente relacionadas como para que realmente se puedan agrupar como una aplicación web, o realmente deberían ser aplicaciones separadas? ¿Deberían ser todas ellas aplicaciones web, o algunas podrían ser más apropiadas como aplicaciones móviles, de escritorio, de línea de comandos, etc., o incluso solo un repositorio de datos ?

Hola,

lo que use con respecto a la interfaz depende de usted. Bootstrap o sin ella realmente no importa. Use lo necesario para su interfaz de usuario. El tiempo que use algún marco JS como Angular, Ember, Backbone o alguna biblioteca como React no importa. Esto se puede combinar con cualquier backend que desee.

Como está buscando un servidor barato, por ejemplo, licencias, evitaría Windows. Un servidor Windows cuesta aproximadamente el doble que un servidor Unix. Como resultado, C # y asp .NET serían la forma costosa. Ruby on Rails, Python / Django, Elixir / Phoenix … todos funcionan perfectamente en cualquier sistema (generalmente mejor en Unix). Con respecto a los costos, por cierto, lo mismo es cierto con respecto a su base de datos. ¿Has considerado usar postgresql en lugar de MYSQL? Es de código abierto. Sin costo de licencia. Dejé el camino de Windows hace mucho tiempo y nunca sentí la necesidad de regresar. Piensa de esa manera.

Todo esto es subjetivo, pero aquí está mi opinión al respecto. Para aquellos que predican bootstrap, Jquery, etc. en el frente. No necesita eso para crear una página receptiva. Si descubre que solo usará el 10% de un marco, no lo use, está cargando el 90% por nada. Escribir consultas de medios no es tan difícil de crear una página receptiva, y si solo es simple manipulación de dom, omita incluso cargar jquery. Descubrirá que su página funcionará mejor y tendrá menos piezas móviles que romper en el futuro y menos problemas con el control de versiones. Ahora volvamos a su pregunta de back end. El motor de aplicaciones de Google es excelente, pero también lo es AWS y muchos otros hosts. Personalmente, tomo el enfoque escéptico y tomo la opción y la escala más baratas desde allí. No es difícil redirigir el dominio de su sitio y los servidores de nombres, sin embargo, es más costoso admitir un sitio que recibe 3 visitas al día pero paga por los servicios que no está utilizando. En la medida en que alguien simplemente diga que debe ir con una pila media, o cualquier otra pila sin escuchar específicamente lo que hace su aplicación, es imposible. En muchos casos, ir con SQL sobre noSQL es altamente beneficioso, en otros, usar un lenguaje compilado versus un interpretado es el camino a seguir, todo esto es incluso subjetivo al tiempo versus producto.

Para desarrollar una aplicación web de calidad, algunas cosas fundamentales que son casi indispensables y que deben centrarse son backend, frontend, base de datos, implementación y las tendencias y necesidades actuales de la generación actual. Y de acuerdo con eso, uno debe seleccionar las tecnologías apropiadas para la aplicación web. Algunas de las tecnologías que están en tendencia en este período para desarrollar buenas aplicaciones web son:
· Backend (integración RoR, Node.js)
· Frontend (Bootstrap, AngularJS)
· Base de datos (NoSQL)
· Implementación (nube de AWS y Heroku, motor de cómputo de Google)
Aún así, en esta era de creciente consumo y aplicaciones web centradas en el usuario, es muy importante elegir el conjunto adecuado de tecnologías para crear una aplicación web que destaque entre la multitud. Además de eso, también se debe mantener un control de las cosas como la experiencia del usuario, es decir, la arquitectura robusta y operable en todos los dispositivos, la escalabilidad de las aplicaciones web, el mantenimiento, la seguridad, etc. Creo que puede consultar el seminario web sobre cómo crear aplicaciones web increíbles de forma rápida con tecnología emergente. Se ve muy informativo.

  • Node.js como servidor / idioma.
  • Expresar como el marco.
  • Mongodb como base de datos
  • Bootstra para frontend.

Use Bootstrap, que se usa ampliamente para aplicaciones web receptivas. Si desea que sea una aplicación de una sola página, vaya a AngularJS + Bootstrap.