Quiero convertirme en un desarrollador web independiente. Aprendí HTML / CSS y Javascript, pero quiero aprender un lenguaje de fondo que crea sitios web rápidos y tiene una gran demanda. ¿Debo aprender PHP, Ruby on Rails, AngularJS, Python, SQL o Node.js?

Indeed.com Job Trends ofrece un motor de búsqueda que muestra tendencias en trabajos que mencionan palabras clave específicas. Por lo tanto, es una medida de la cantidad de trabajos disponibles en su motor de búsqueda que mencionan ciertos idiomas. Puedes verlo en el gráfico a continuación.

  • SQL (naranja) es, con mucho, el más popular. Pero su ventaja en este gráfico realmente no cuenta, porque SQL no se usa solo. Se usa en combinación con otro lenguaje de fondo y se usa con todos los idiomas de fondo. Definitivamente es importante aprender SQL, pero también debes aprender otro idioma.
  • Javascript (verde) es el siguiente. Esto tiene sentido porque Javascript se usa para el código de front-end (navegador), incluso cuando usa un idioma diferente en el back-end. Javascript también está creciendo en popularidad en el lado del servidor, en forma de Node.js (que también es la base de Meteor, un marco mencionado en la respuesta de Sushant).
  • Python (amarillo) y PHP (azul) son los siguientes. Python recientemente superó a PHP, pero están prácticamente codo con codo. Python tiene usos más amplios que la programación web, por lo que podría explicar su ligera ventaja sobre PHP.
  • Ruby on Rails (negro) está en la parte inferior entre los idiomas sobre los que ha preguntado. Rails tiene seguidores dedicados, pero en comparación con otros idiomas, no es tan utilizado.
  • AngularJS (rojo) es un marco Javascript del lado del cliente, por lo que aprendería esto junto con Javascript.
  • Node.js (morado) es casi invisible en este gráfico. Aprender la arquitectura Node.js basada en eventos puede ser difícil para algunas personas acostumbradas a otros lenguajes de procedimiento. Y primero tendrías que aprender Javascript.

Depende exclusivamente de lo que desea lograr y cuál es su agenda para aprender los idiomas. Y de la elección de plataformas / lenguajes y bases de datos que ha elegido, supongo que quiere incursionar en el mundo del desarrollo de bodas.

Para empezar, usted como desarrollador deberá saber,
1) Un lenguaje de programación, por ejemplo. PHP o Ruby o Python, etc.
2) Base de datos, por ejemplo. MySQL, Oracle, MongoDB, PLSQL, SQL, SQLlite, etc.

En su pregunta, también enumera varios Frameworks (Ruby on Rails, Angular.js, etc.). Estos marcos “ayudan” a proporcionarle herramientas para acelerar su desarrollo. Y aprender cada marco requerirá que comprenda y conozca el idioma en el que está construido o para el que está construido. Míralo de esta manera, si estás horneando un pastel, entonces no necesariamente tienes que cultivar el grano y hacer harina con él. Simplemente los compra en una tienda y luego los junta según su receta. Del mismo modo, un marco lo ayuda a centrarse más en el desarrollo de aplicaciones principales.

Si eres un desarrollador novato y solo quieres comenzar a aprender algo, te sugiero Ruby. Simplemente porque es muy simple de aprender y luego tienes el framework Ruby on Rails (también conocido como Rails), que se sabe que es una plataforma poderosa. Y para la base de datos, recomendaría SQLlite.

Por supuesto, otros idiomas también son populares para el desarrollo web y tienen sus especialidades (aunque puede crear aplicaciones completas en cualquier plataforma). Y debido a esas especialidades, los desarrolladores tienden a preferir el idioma sobre otro dependiendo de su aplicación final.

EDITAR: Si desea saber en qué idioma puede conseguir un trabajo fácilmente, siga la respuesta de Bill Karwin .

PD: Toda la opinión mencionada anteriormente es mía, y la pregunta es muy amplia. Intenté lo mejor para responder según corresponda 🙂

Algunos recursos de Ruby:
Aprenda los conceptos básicos del lenguaje Ruby en su navegador.
Lenguaje de programación Ruby
Aprende Ruby de la manera difícil

Esta pregunta tiene 2 años … la historia me ha dado la razón.

PHP todavía está allí, es el “idioma inglés” del desarrollo web de backend.
En realidad mejoró, ya que la versión 7 se ejecuta el doble de rápido sin necesidad de instalar compiladores complicados u otros “artilugios”. Y hoy en día tiene la mayoría de las “características lingüísticas” típicas de los lenguajes de alta gama: cierres / lambdas / interfaces / iteradores / biblioteca de contenedores estándar …

Python está hasta allí haciendo su trabajo perfecto de “lenguaje general”, especialmente en aplicaciones de análisis financiero y AI … pero la pregunta era sobre “lenguaje de backend … sitios web rápidos”.

Rails, lamentablemente, ha disminuido y Node.js ha tenido demasiadas “guerras civiles” del comité Node.js, divisiones, etc., para ser consideradas confiables. Más problemas humanos que tecnología.

AngularJS es bueno para algunas aplicaciones y funciona muy bien con PHP. De hecho, en realidad son 2 años (!) Mi equipo y yo estamos escribiendo y ampliando una gran aplicación web en AngularJS + PHP (usando Fat Free Framework).

Sin embargo, para aplicaciones más “ágiles” es posible que desee comprobar React y Vue. Si mi gran cliente no exigiera AngularJS, los habría elegido.

Ruby on Rails es un marco web escrito en lenguaje Ruby.

PHP y Ruby son lenguajes muy diferentes. El código escrito en Ruby es más fácil de leer y escribir, hay una gran cantidad de bibliotecas disponibles (gemas), la comunidad es muy amigable y está hecha desde cero para ser idiomática.

Por ejemplo, este es un código válido en Rails (¡pero no en Ruby!):

Hace 3 días

Esto sería válido en Ruby:

requiere ‘fecha’
DateTime.now – 3

PHP inicialmente no estaba realmente diseñado para usarse como lenguaje de programación (lea más aquí PHP: Historial de PHP), por lo que tiene algunas de sus peculiaridades y es fácil escribir código incorrecto en él. Ya escribí sobre la mejor manera de aprender PHP aquí: ¿Cuál es la mejor manera de aprender PHP Coding?

Básicamente, PHP está mucho más extendido en la web, por lo que es más fácil obtener la posición junior, pero por eso también es más difícil encontrar buenos desarrolladores de PHP. Elija lo que quiere más, y si elige PHP, prepárese para encontrar un montón de malos ejemplos y código horrible escrito por monos de código que pensaron que conocían PHP después de unos meses de jugar con WordPress u otro CMS.

La respuesta a esto sigue cambiando con el tiempo. La respuesta de hoy es bien conocida. En el lado del cliente, use HTML, CSS y Javascript. En el lado del servidor, use PHP y MySQL. Si debe tratar con Microsoft, la respuesta es un poco diferente con ASP incluido en la mezcla, pero no he tenido que lidiar con eso por un tiempo.

Si se encuentra con un cliente que ya usa Pythom, Ruby on Rails, Python, Node.js, COBOL, Fortran, SNOBOL, ASM, BAL, PL / 1 o 40 idiomas más, entonces esos son los idiomas que necesita.

A menudo necesitará conocer Drupal, Joomla o algún otro CMS.

Pero realmente es una ley de rendimientos decrecientes. Si bien hay personas que adoran Python, las ofertas de trabajo son raras en comparación con PHP, excepto en sitios web especializados en listados de trabajos.

Esa es mi opinión.

Aprende PHP. Es más versátil ya que no necesita Rails, y alimenta gran parte de la web. La desventaja podría ser que tanta gente lo usa que no eres muy raro. OTOH, como profesional independiente, solo necesita encontrar cosas que la gente necesita hacer, y a menos que especifiquen RoR, no está obligado a ello, tiene un ecosistema más grande, y así sucesivamente. No dejes que nadie te permita aprender PHP debido a algún sesgo. Con suerte, esas guerras se desvanecieron hace un tiempo (pero lo dudo).

Rieles. Pero sé minucioso en tu aprendizaje. Ser un calificador implica aprender el desarrollo adecuado de software basado en Agile. Incluyendo pruebas de escritura. Valoramos la calidad sobre “rápido y sucio”.

¿Cuál es tu cliente ideal? Si desea trabajar con startups, elija Rails, Node o React. Si es una gran corporación en Europa, elija PHP.

Especialícese primero en un cliente ideal, elija su pila tecnológica en segundo lugar.

Personalmente, creo que php es un mejor lenguaje para un profesional independiente porque puedes desarrollar una amplia variedad de CMS como WordPress, Joomla y otros y desarrollar aplicaciones web que se pueden vender en línea.

Ruby o Perl son los idiomas más preferidos por las grandes industrias o startups. Entonces, si desea obtener un trabajo en el campo de desarrollo web, entonces puede que tenga que optar por Ruby, de lo contrario, php es una muy buena opción para un profesional independiente.

Analice su área para ver cuáles son los trabajos en demanda. Probablemente sea PHP. Cuando termines de aprender eso, y tengas algo de experiencia práctica, ramifícate y aprende algo más. Eso podría ser Python o ruby ​​u otra cosa.

bueno, como eres experto en las tecnologías front-end de html css y javascript, y quieres hacer un salto en el back-end, diría que ruby ​​on rails sería bueno, ya que los rieles que se construyen en ruby.ruby tienen una sintaxis muy mínima y Muy fácil de leer.

Lo intenté con PHP, pero no me hizo clic.
y también mencionas la construcción rápida de sitios web, diría que ve con ruby ​​on rails, ya que se encargaría de la mitad del desarrollo web y sienta las bases para el proyecto.
Durante las últimas semanas estuve aprendiendo Ruby on Rails, y yo también, desde un entorno front end, sería relativamente fácil de aprender y mejor trabajar comparando php o python.

y para la demanda, muchos de los sitios famosos se construyeron en ruby ​​on rails, sitios como airbnb también contratan a muchos ingenieros de ruby ​​on rails.

Yo digo que es una buena herramienta para tener alrededor de tu conjunto de habilidades.

: Navegar con Ruby on Rails: obtener el sabor del back-end: cómo me metí en el desarrollo web de back-end.

More Interesting

Cuando agrego una columna a una tabla existente, ¿se convierte automáticamente en una clave principal?

Creo que Internet Explorer 11 es mejor que Edge. ¿Puedes demostrarme que estoy equivocado?

He usado dos empresas de alojamiento web y ambas fueron muy lentas. ¿Qué es un host económico pero rápido y potente?

¿Puedo aprender C ++ ahora? Tengo 15 años y solo sé HTML, CSS y un poco sobre JavaScript.

Si elijo crear el front-end y el back-end de un sitio web y cargué el código al host y quiero actualizar el sitio, ¿qué debo hacer?

¿Cómo editar una casilla de verificación si está guardando las casillas de verificación en una sola columna en una base de datos, dado que una casilla de verificación desmarcada no se guardará en la base de datos? ¿Qué pasa si vas a editar esas casillas de verificación?

¿Quién es el proveedor de alojamiento web y diseñador inactivo más barato y rápido de Estados Unidos?

Quiero aprender .NET. ¿Dónde empiezo y cómo procedo?

Necesito una API de servicio de verificación de SMS en mi aplicación. Tengo servicios como Nexmo, Plivo y Twilio como mis opciones. ¿Hay algún servicio que tenga una buena respuesta en India? ¿Qué servicio de verificación de SMS debo usar?

Llegué tarde a la programación, ¿cuánto tiempo necesito dedicar para obtener un trabajo de desarrollador web junior?

No tengo experiencia en codificación, pero me gustaría trabajar para codificar una idea de aplicación que tengo. ¿Cómo debo hacer para aprender a codificar?

Sé lo básico de Python y Django, quiero aprender PHP y Laravel, ¿por dónde empiezo?

Quiero escribir mi propio sitio de Twitter (o Facebook), pero no quiero usar PHP como lenguaje del lado del servidor. ¿Cuáles son algunas alternativas?

Quiero crear una aplicación a gran escala usando PHP. ¿Cuál es el mejor marco para trabajar con PHP?

¿Cuáles son los beneficios de usar complementos y plantillas sobre la codificación sin procesar al desarrollar un sitio web?