Si termino los programas en freecodecamp, ¿podré crear una aplicación / sitio web como Quora al final del programa?

¿Un sitio web similar a Quora?

Seguro.

Esto es lo que haría.

  • No quieres perder tu tiempo.
  • No quieres perder tu tiempo.
  • Ya pasaste al menos dos segundos leyendo la misma cosa dos veces, así que usa el resto con mucho cuidado.

Mencionaré algunos nombres (como Nginx) y palabras clave, no tiene que usarlos. Hay alternativas, pero como soy mortal, intentaré que mi respuesta sea breve.

Videos de YouTube, suscripciones pagas a sitios web de aprendizaje electrónico (SafariBooksOnline es bueno), lee blogs, mira tutoriales, sigue subreddits de Reddit, usa StackOverflow, etc.


VERSIÓN LARGA

Interfaz

  • Aprende JavaScript.
  • Aprende ES6. También usará ES6 en el lado del servidor, pero lo escribo aquí.
  • Aprenda un marco de JavaScript. Uso Angular.js (1.x) para JavaScript y Angular Material para CSS. Dado que Angular Material es compatible con Angular, no necesito lidiar con cosas aleatorias de terceros. Si ya estoy familiarizado con Angular, no pasaría tanto tiempo aprendiendo material angular. ¿Ver?
  • Hay muchos módulos y complementos de Angular.js (ui-router es obligatorio, por ejemplo), utilícelos.

Administración del servidor

  • Aprenda a administrar un servidor. Seguridad, Linux, permisos de usuario, etc.
  • Necesita un servidor web que pueda manejar el equilibrio de carga y que actúe como un proxy inverso. Nginx es bueno.

Backend – Idioma y plataforma

  • Node.js + Express.js es bueno.
  • Aprende lo que significa una promesa.
  • Familiarícese con JavaScript asíncrono. Esto es importante. Use una biblioteca como async. De nada.
  • Pase las próximas dos semanas aprendiendo cómo usar la biblioteca asíncrona correctamente. mapa, paralelo, serie, etc.
  • Aprenda lo que significa una promesa y cómo trabajar con ellos. Otra vez. Dedos cruzados.
  • Use un ORM. Si ha elegido MySQL como su RDBMS, puede usar Bookshelf.js.
  • Notificaciones? ¿Cosas que salen de la nada sin actualizar una página? Websockets es la palabra clave que está buscando. Socketio es bueno.
  • TDD (también se aplica a la interfaz)
  • Quora no tiene una API, pero eso no significa que seguirá el mismo camino. Aprenda qué significa API, qué es y cómo puede aprovecharlo.

Backend – Base de datos

  • Combine un sistema de gestión de bases de datos relacionales (como MySQL) con Redis. Use Redis para búsqueda, análisis, caché, colas de tareas, mensajería y casi todo lo que requiera la inserción masiva de datos y partes que se espera que funcionen rápido. Realmente rápido.
  • Redis es bueno, pero ten cuidado con eso. Puede usar una GUI para acceder a su base de datos mientras aprende, puede ser útil.
  • Aprenda lo que significa la cola de tareas.

ETA: 6 meses a un año (hice totalmente ese número)


VERSIÓN CORTA Y FEA

ETA: 2 semanas a 3 meses (hice totalmente ese número)

Interfaz

  • Bootstrap y jQuery.
  • Use los complementos jQuery. Ahorrarás tiempo.

Administración del servidor

  • Compre un servidor VPS barato. DigitalOcean es bueno.
  • Aprenda a administrar un servidor. Aprenderá lo básico en unos días. No necesita lidiar con cosas avanzadas, solo aprenda lo suficiente para que su sitio web esté en funcionamiento. Puede comenzar con DigitalOcean, es bastante fácil con tutoriales y otras cosas.

Backend – Idioma

  • Aprenda el idioma más fácil para hacer algo rápido y probablemente inseguro. Duh, es PHP. No pases más de dos semanas aquí. Claro, tomará mucho más de dos semanas convertirse en un maestro (por cierto, nunca lo digas), pero de todos modos no vas a escribir una tesis en PHP.
  • Elige un marco. Laravel es bueno. Es jodidamente lento, pero no tan lento.

Backend – Base de datos

  • MySQL es bueno. Aprenda los conceptos básicos de SQL. Laravel tiene un ORM llamado Eloquent, es muy fácil de aprender.
  • Aprenda qué significa ORM y qué puede hacer con él.

No he dormido en tres días. Intentaré ampliar esta respuesta más tarde, eso es lo que puedo hacer por ahora. Creo que otras personas escribirán respuestas, así que …

En primer lugar, HTML y CSS no son lenguajes de programación. Son plantillas para definir cómo se verá su sitio web, no lo que hará su sitio web. En segundo lugar, crear un sitio web como Quora requiere meses de trabajo y años de experiencia, y es cuando trabajas en equipo. Ahora, para hacer una aplicación web (supongamos que eso es todo lo que quiere), necesita saber tres cosas:

  1. Uno o más lenguajes de programación del lado del cliente (Ejemplos: JavaScript, Coffeescript, Typecript, ES6)
  2. Uno o más lenguajes de programación del lado del servidor (Ejemplos: PHP, cualquiera de los lenguajes de programación del lado del cliente (con NodeJS), Ruby, Python, C (si realmente le gusta hacer todo usted mismo))
  3. O: uno o más lenguajes de base de datos (solo puedo pensar en SQL) o: uno o más motores de base de datos (aunque hacer su propio motor de base de datos generalmente no es tan difícil)

Solo HTML y CSS no son suficientes. Si desea que su página web sea interactiva, debe comenzar a aprender lenguajes de secuencias de comandos del lado del servidor como PHP, JSP, etc. ¡También aprenda Javascript, que le ayuda mucho!

More Interesting

¿Existe un sitio web como W3Schools Online Web Tutorials para el desarrollo de aplicaciones?

¿Cuál es la mejor manera de encontrar un desarrollador para crear una aplicación en Europa del Este, es decir, Ucrania?

¿Qué puede hacer una aplicación nativa de iOS / Android que HTML5 no puede hacer?

¿Es mejor aprender la codificación de aplicaciones telefónicas, la codificación de aplicaciones web, el diseño de aplicaciones web u otra opción?

Cómo desarrollar una mejor interfaz de usuario para una aplicación Rails

¿Cuál es la mejor herramienta para verificar las palabras más utilizadas en los sitios web?

Cuando se les da una opción, ¿las personas prefieren usar la versión móvil de un sitio web o una aplicación?

¿Hay alguna evidencia de que el espaciado simple después de un período es mejor que el espaciado doble para la usabilidad del sitio web o la aplicación móvil?

¿Cuál es la mejor manera de hacer una aplicación de Android? Si esta es mi primera aplicación de Android, ¿cuánto tiempo llevará?

¿Cómo empezaste a construir tu perfil de Github?

¿Sería útil para un programador si primero terminara el diseño gráfico y configurara un sitio web y una aplicación móvil antes de pedir ayuda con la integración de la base de datos o preferiría comenzar desde cero?

¿Cuál es el mejor lenguaje de programación de back-end, en casos de uso general, para aplicaciones móviles?

¿Me aconsejas usar meteorito?

¿Cuánto tiempo debería llevar crear una aplicación móvil como zomato para admitir la mayoría de las plataformas (iphone, android, blackberry, nokia, etc.)?

¿Qué debo hacer para ganar dinero en el campo de la programación o el desarrollo web?