¿Puedo construir una aplicación en la nube basada en web compleja con node.js sin usar ningún marco? Si no, ¿qué marco debo usar? ¿Dónde obtendré los mejores tutoriales?

Los marcos no son más que una gran biblioteca de código que se puede reutilizar fácilmente. Por lo tanto, la mayoría de las tareas se pueden realizar fácilmente simplemente configurando el marco.

Beneficios de los marcos

  1. Frameworks generalmente contiene montones y montones de posibles errores de manejo. Solo HTTP en sí mismo es demasiado grande, compresión Gzip, cookies, almacenamiento en caché, autenticación, todos ellos no están fácilmente disponibles en node.js, necesita tener algún marco para hacer todo.
  2. Incluso muchos navegadores diferentes manejan HTTP de manera diferente, algunos pueden usar fragmentos, algunos pueden querer una codificación diferente, terminarás gastando mucho tiempo en depurar estos problemas.
  3. Lo mismo con mysql, necesitará comandos sql en un orden específico, puede abrir erróneamente agujeros de seguridad en su aplicación.
  4. mysql y cualquier otro servicio que planee usar, ya puede tener una mejor forma alternativa de código que eventualmente escribirá incorrectamente. Los marcos generalmente los cubren muy bien. Esto sucede porque muchas personas contribuyen muy bien.
  5. REST API debe tener el estándar adecuado; si no usa el marco, terminará escribiendo las mismas funciones de API muchas veces y terminará con múltiples versiones de la misma funcionalidad.
  6. A menos que conozca muy bien JavaScript, escribirá código que conducirá a un rendimiento deficiente o a una salida impredecible. Los marcos están muy bien escritos y documentados.
  7. Como se dijo en el punto 5, los marcos documentados ayudan a compartir la base del código con otros miembros del equipo y puede expandir bien su equipo, porque no tendrá tiempo suficiente para escribir su código y documentarlo, e incluso después de algunas semanas, usted mismo no comprenderá tu propio código

Para saber más acerca de los marcos, no existe el mejor marco como tal, todo depende de la facilidad con que comprenda la documentación y de cómo se sienta cómodo. El marco más utilizado es “Express” para cosas de nivel HTTP, para ORM (Modelo Relacional de Objetos para comunicarse con MySQL) tendrá que buscar.

Si bien puede crear una aplicación sin usar framework, eso requerirá que escriba mucho código de mono, es decir, código redundante y mundano.

Recomiendo usar express framework ya que es uno de los mejores frameworks basados ​​en nodejs completos que existen.

También sugeriría usar un NoSql db como mongodb. Como hay mucho soporte disponible en línea en caso de que te quedes atascado y también las aplicaciones basadas en nodejs están destinadas a funcionar en tiempo real y eso está bien respaldado por las aplicaciones de nodejs.

También verifique la pila MEAN y vea si le interesa.

Sí, puede crear aplicaciones web sin usar los marcos disponibles creando su propia pila PERO, ¿realmente desea pasar tanto tiempo cuando ya tiene algo para comenzar?

Seguramente no, así que sugeriría comenzar / aprender usando ExpressJS, es un marco minimalista basado en REST con el que puede definir sus rutas y agregar componentes a su proyecto de acuerdo con el alcance del proyecto.

Para la base de datos, use mongoDB o mysql, ambos son buenos.

Frontend: te sugiero que uses AngularJS o React, ambos son muy buenos.

Recursos: GOOGLE it, fácilmente encontrará toneladas de tutoriales para cada tema, ya que lo mejor para mí puede ser el peor para usted.

Por supuesto, no es obligatorio usar ningún marco para desarrollar aplicaciones web en Node. Puede escribir fácilmente un servidor que responda a las solicitudes HTTP. Pero se recomienda porque ahorrará mucho tiempo y su aplicación sería más eficiente. Los marcos se desarrollan para reducir la sobrecarga en el desarrollo y resolver un problema común. Sin usar un marco, reinventarías más la rueda si fuera el momento en lugar de enfocarte en el código de tu aplicación.

Para el nodo js Express es el marco estándar de facto para el desarrollo de aplicaciones web.
También echa un vistazo a MEAN stack.
Si realmente quiere acelerar el desarrollo, eche un vistazo a Meter js.
Un marco Loopback relativamente nuevo también es una buena opción