¿Debo aprender Node.js o Ruby on Rails?

¡Ambos! O tampoco! Realmente depende de ti.

Hay muchas razones por las que se enseñan varios idiomas (enseñamos tanto Node.js como Ruby on Rails en la escuela Flatiron): su capacidad para dilucidar conceptos de programación, su aplicabilidad al mercado laboral, por nombrar algunos. Pero estos son muy diferentes de las razones para aprender un idioma determinado.

Si eres nuevo en programación, déjame aclarar algo: aprender a codificar es realmente difícil . Son las pequeñas cosas que te emocionan las que te ayudarán a superar los tramos difíciles y salir del otro lado como un gran programador. Entonces, ¿qué te emociona de la programación? Algo como “aplicabilidad en el trabajo” es ciertamente importante, pero dudo que sea lo que lo saque de la cama por la mañana. Es más importante preguntar: ¿qué te mueres por construir?

Si eres una persona visual, quizás JavaScript sea el mejor lugar para comenzar porque te permitirá crear interacciones visuales rápidamente.

Si está más emocionado de formar parte de una comunidad de apoyo y de código abierto, quizás Ruby sea el mejor idioma para que comience a aprender. Es súper legible y se centra más en la lógica y los patrones de pensamiento en lugar de a dónde va un punto y coma, por ejemplo, para que pueda comenzar a construir de inmediato.

Si no puede esperar para crear una aplicación móvil, comience con Objective-C.

Más importante que investigar sin parar los pros y los contras sobre la facilidad de aprendizaje de los idiomas, la aplicabilidad en el trabajo o encontrar lo que ha escuchado es lo “mejor” para comenzar, es el acto de terminar lo que comienza. Lo que sea que lo motive a seguir adelante y no darse por vencido, ese es el idioma que debe aprender primero.

Considere cómo podría elegir tocar un instrumento. La gente podría argumentar que el piano es el mejor para aprender primero porque todas las notas se presentan frente a ti y puedes acompañarte. Pero, ¿y si amas la batería? ¿Qué pasa si te excitan para superar la frustración de no poder mantener el tiempo o acertar cuando comienzas? ¡Entonces comienza a aprender la batería! Y una vez que los hayas dominado, tampoco hay nada que te impida aprender a tocar el piano. (Y es probable que algunos de los fundamentos de la batería, como el tempo y la dinámica, sean útiles cuando aprendas piano).

O piense en aprender a hablar un nuevo idioma. Claro, el latín podría considerarse el “mejor” para aprender porque te ayudará a comprender las bases de todos los idiomas románticos. Pero, ¿qué pasa si no estás entusiasmado con el aprendizaje de un idioma que pocas personas hablan? ¿Qué pasa si te mueres por mudarte a Tokio y conversar con fluidez en japonés? Entonces aprende japonés. Puede ser increíblemente difícil de aprender, pero si está motivado para continuar hasta el final del proceso, esa es una razón para aprenderlo.

Así que olvídate de hacia dónde se dirige la industria, olvida lo que la gente dice que es el lenguaje del futuro (FYI: no existe). ¿Qué quieres construir hoy y qué lenguaje te permitirá hacerlo? A partir de ahí, puedes continuar para abordar más; pero eso nunca sucederá si pierdes tu motivación demasiado pronto. Su mayor activo es su emoción. En diez años, ambos idiomas pueden quedar obsoletos. El paso importante para usted ahora es superar ese primer obstáculo. Aquí está nuestro curso gratuito de Introducción a Ruby; Aquí está nuestro curso gratuito de Introducción a JavaScript. Prueba ambos. Decida qué lo sacará de la cama más rápido por la mañana, y luego no se detenga hasta que haya terminado.

¡Esta es una muy buena pregunta! Uno con el que he luchado personalmente.

Respuesta corta: aprenda JavaScript primero porque todos los desarrolladores web necesitan JavaScript, pero no todos los desarrolladores web necesitan Ruby on Rails. Una vez que conozca JavaScript, no dude en probarlos y ver qué le gusta más.

Lo que eliges no es tan importante como la forma en que aprendes. Una vez que tenga los fundamentos de la programación, elegir un nuevo lenguaje o marco solo tomará un par de días o semanas, según su experiencia: lo que los nuevos programadores deben aprender

Importancia de construir una cartera – Startupinacar

Respuesta más larga: Ambas pueden ser buenas opciones.

Razones para aprender JavaScript / Node.js:

También escribí “Una descripción general de JavaScript” Por qué debería aprender Javascript: Startupinacar, que habla sobre el idioma y quién es el adecuado para él.

– Node.js ES JavaScript

Aprender Node.js se siente más natural porque Node.js ES JavaScript. Aprender JS te ayuda a aprender Nodo, y aprender Node.js te ayuda a aprender JavaScript porque son lo mismo, solo que se usan de manera diferente. No es difícil aprender Nodo si conoces JS.

– Todos los desarrolladores web necesitan JavaScript

A menos que trabaje en una gran empresa donde solo hace backend estrictamente, prácticamente NECESITA saber JavaScript. Además, si cambia de Ruby a Python, o cualquier otro lenguaje de back-end, JavaScript se transfiere porque todos los idiomas de back-end usan JavaScript. Este no es el caso de Ruby / Rails. Entonces, incluso si aprende Node y luego decide usar otra cosa, aún tiene ese conocimiento de JavaScript que será extremadamente útil. Con el aprendizaje de Rails, el arrastre no es tan alto.

Las aplicaciones en tiempo real son geniales. Crearás aplicaciones de chat o cualquier cosa “en tiempo real” de manera muy fácil con Node.js

– Toneladas de ofertas de trabajo

Hay una cantidad increíble de trabajos de JavaScript. Mire la diferencia en cualquier ciudad entre las aperturas de JavaScript y las de Ruby. Si está buscando trabajo, es muy recomendable centrarse en JavaScript. Puede que no sea Node, pero Node.js y Front end son bastante similares y el arrastre es alto. Estrictamente Node VS Rails, Rails actualmente tiene más trabajos, pero Node.js se está poniendo al día. A menos que viva en un centro tecnológico como Dallas, LA, SF, Seattle, Nueva York, etc. Puede que tenga dificultades para encontrar un trabajo en Node.js O Rails.

– Estar en The Bleeding Edge / Startups

Como alguien mencionó, Node.js es donde estaba Rails hace 5 años. Node.js está ardiendo en este momento. Muchas startups lo están usando porque es sexy y nuevo, y algunas compañías más grandes y aventureras le están dando una oportunidad a Node.js. Puede que no sea que Node.js sea “mejor”, es solo que la gente está probando cosas nuevas, y Node.js es lo más novedoso en este momento. El beneficio de usar la “cosa nueva” es que no sentirá que está jugando “ponerse al día”. Es solo un tipo diferente de riesgo. ¿Desea arriesgarse a trabajar con tecnología más antigua cuando todos se están moviendo hacia algo nuevo, o arriesgarse a trabajar con algo nuevo y no probado?

Razones para NO aprender JavaScript / Node.js

– NINGUNA. Todos los desarrolladores web necesitan JavaScript.

Node.js es opcional, pero JavaScript es (prácticamente) obligatorio.

– Node.js es un poco más difícil de aprender.

No hay tantos recursos para aprender Node.js como aprender Ruby y Ruby on Rails. PERO, la parte importante es aprender CÓMO aprender. Si comprende esto, puede aprender cualquier tecnología. El punto principal aquí es dividir todo en los trozos más pequeños que pueda. No aprendas “Express.js” o “Rails”. Aprenda cómo funcionan las “solicitudes GET” en Express / Rails, juegue con eso por sí solo, luego aprenda “Jade” o “ERB” por sí solo … UNA COSA A LA VEZ.

– El nodo en sí no tiene muchas ofertas de trabajo , a pesar de que el número está aumentando.

– Node.js sigue siendo nuevo

Node.js sigue siendo nuevo y no tan “probado” como Rails. Si está buscando algo concreto que garantice que usted y su startup funcionen, entonces Ruby on Rails puede ser una apuesta más segura. (JS está probado, pero Node no es … tanto)

Razones para aprender Ruby on Rails:

– Mas maduro

Ruby on Rails es más seguro porque ya hay muchos desarrolladores que lo usan, hay más recursos para aprender rails, Ruby ha estado fuera desde la década de 1990, hay más trabajos en Rails (en comparación con Node estrictamente), y la gente ha estado usando Ruby on Rails para construir sus empresas grandes y pequeñas por un tiempo ahora. Sabes lo que obtienes cuando trabajas con Ruby on Rails, tanto lo bueno como lo malo.

– Hace mucho por ti

Esto es bueno y malo. Bien si solo quieres construir el producto y seguir con la vida. Esto hace que desarrollar un nuevo producto o características sea mucho más rápido que si usara algo que no sea Rails. Es malo si quieres aprender cómo funcionan las cosas en un nivel más profundo.

– Más fácil de aprender, opinar y estructurado

Ya dije esto, pero hay más recursos para aprender Ruby on Rails porque es más maduro. Rails también está muy estructurado. Hay UNA manera de hacer las cosas, y todos las hacen de esa manera. Rails está mucho más organizado que Node y, por lo tanto, es más fácil de entender.

Ruby es hermosa y agradable a la vista

JavaScript puede ser una pesadilla a la vista, y aún peor cuando entras en el “infierno de devolución de llamada” y mucho menos tratando de comprender el uso intensivo de funciones anónimas / de devolución de llamada y cierres. JavaScript está construido sobre ellos, y es difícil de leer esas cosas.

Ruby, por otro lado, es realmente fácil de leer, y eso es parte del sorteo de Ruby / Rails. Aunque no diría que esta es una razón sólida para usar Ruby, es más una ventaja.

Razones para NO aprender Ruby on Rails:

– Demasiado mágico

Este es mi único problema real con Ruby on Rails. Si todavía está APRENDIENDO cómo programar en general, Ruby on Rails simplemente hace demasiado por usted. Hace que sea mucho más fácil crear aplicaciones que casi ni siquiera necesita saber qué está haciendo para crear aplicaciones. Tienes que forzarte a cavar más profundo para aprender realmente lo que sucede debajo del capó. Construí varios prototipos de trabajo a gran escala haciendo todas las operaciones CRUD, y apenas sabía cómo funcionaban los formularios HTML.

– Lento. Ruby / Rails es más lento que otros idiomas, pero esto ni siquiera será un problema hasta que su empresa / producto sea exitoso, y esto se compensa con la velocidad de desarrollo.

Conclusión:

Ruby on Rails es un excelente lenguaje / marco si solo desea construir ese producto rápidamente. En casi todos los demás casos, sugeriría comenzar con JavaScript, facilitando su acceso a Node.js porque es menos para aprender, y si no está satisfecho con eso, pruebe Ruby y Rails.

Comparar Node y Rails no tiene sentido. Rails es un marco de aplicación web completo para su servidor, Node es un tiempo de ejecución (con algunas características adicionales) que le permite crear servidores web básicos en JavaScript, pero puede agregar grandes cantidades de funcionalidad además de Node con módulos (más de 450 son creados todos los días).

Entonces, en realidad , usará Node con algún tipo de marco de aplicación web (como Express / Hapi / Koa), lo que lo hace más comparable a Ruby on Rails.

Con eso en mente:

Comunidad de desarrolladores y ecosistema

La energía alrededor de Node y Express es enorme. El compromiso en Stack Overflow es enorme y superó a Rails en 2015. Agregue Express y es aún más grande

La innovación y la energía se están trasladando al ecosistema Node.

Nodo gana

Roles y Oportunidades (ahora y en el futuro)

Ruby on Rails ha tenido una gran cantidad de roles durante años, pero está en declive. 873 compañías en Angellist están contratando para puestos en Rails. 1133 para puestos de Node.js.

Node se usa en producción en Netflix, Uber, PayPal y Linkedin y en muchas de las otras compañías más grandes del mundo.

Dibujar

Curva de aprendizaje

Nodo de aprendizaje significa aprender JavaScript. JavaScript tiene el monopolio del desarrollo del navegador web (frontend). Para muchos que ya conocen Javascript, el aprendizaje es mucho más fácil.

Más profundamente prefiero la pureza de Node, su cercanía a JavaScript. En lugar de aprender una capa abstracta sobre Ruby. Si comprende los principios de JavaScript (asincronía, prototipos y promesas, y de servidores), API relajantes, entonces puede resolver problemas con Node de forma más natural.

Nodo gana

Usabilidad

Escribir código de nodo es escribir JavaScript. JavaScript solía ser criticado por ‘infierno de devolución de llamada’, manejo de errores débiles y problemas de compatibilidad del navegador.

Pero ese es el pasado. Las promesas nos brindan una excelente alternativa a las devoluciones de llamada. Con Node no debemos preocuparnos por los navegadores y hay algunas mejores prácticas excelentes sobre la resistencia a los errores que debe seguir

Dibujar

Flexibilidad

Si bien Node es básico, con un marco como Express / Hapi encima de Node, obtienes muchas de las características que Rails te ofrece de inmediato.

Entonces, Node le brinda flexibilidad (para usar diferentes módulos / ‘frameworks’) y la estructura de esos frameworks. Con Rails, debes aceptar la estructura dada

Este enfoque en modularizar su sistema de back-end es parte de por qué se crean 10 veces más módulos por día para Node que Ruby

Nodo gana

Veredicto

En 2017 para la comunidad, las oportunidades, la curva de aprendizaje y la usabilidad, debe aprender Node over Ruby on Rails

¿Para aprender? Aprende todas las cosas geniales.

  1. Pedestal de Clojure, Luminus y kit de http.
  2. Crystal’s Amber y Kemal.
  3. ASP.NET MVC de C Sharp.
  4. Elixir’s Phoenix.
  5. Go’s Buffalo, Gorilla-toolkit, Beego, Gin, Revel, Echo y Goji.
  6. Griales de Groovy.
  7. Haskell’s Snap y Yesod.
  8. Java’s Spring, Play and Spark.
  9. Kotlin’s Kara y (Java’s) Spark (con Kotlin).
  10. Lapis de Lua.
  11. Nodo’s Adonis, Express, Hapi, Koa, Meteor and Sails.
  12. Perl’s Kelp y Mojolicious.
  13. PHP’s Laravel, CakePHP, FuelPHP, Silex, Slim, Codeigniter, Zend, Phalcon, PHPixie, Symfony y Yii.
  14. Python Django, Falcon, web2py y Flask.
  15. Ruby’s Rails, Sinatra y Padrino.
  16. Scala’s Play and Lift.
  17. Front End Frameworks como React (biblioteca), Redux, Angular, Ember, Backbone, Knockout, Vue y Polymer (biblioteca).

etc.

¿Confuso? : D, es broma. Cualquiera de los idiomas anteriores y cualquiera de sus marcos funcionarán. Aprenda cualquiera de los idiomas y cualquiera de sus marcos. Todos los idiomas y sus marcos son geniales y tienen buenas comunidades detrás de ellos.

Responda a su pregunta específica (¿Debo aprender Node.js o Ruby on Rails?):
Ambas tecnologías son modernas y tienen buenas comunidades detrás de ellas, y son utilizadas por grandes nombres en la producción, y ambas tecnologías le darán un buen trabajo.

Un consejo: una vez que aprenda su primer lenguaje de programación y algunos marcos, aprenderá otros lenguajes y marcos.

NodeJS te abrirá más puertas que Ruby on Rails.

Además de ser una gran tecnología que tiene características únicas que se pueden aprovechar para crear servidores increíblemente rápidos, los desarrolladores de NodeJS también pueden ganar más dinero que los desarrolladores de Ruby on Rails: la experiencia en JavaScript es una gran habilidad para tener. Eso no debería desanimarte de aprender Rails, todavía se usa mucho y hay muchos trabajos para los desarrolladores de Rails. Además, como idioma de nivel de entrada, ¡puede ser realmente fácil de aprender y aprender!

Dicho esto, si quieres aprender ambas cosas, Coding Dojo es un gran lugar para asistir. Siendo el único bootcamp que ofrece 3 pilas completas, enseñamos MEAN (MongoDB, Express, Angular, NodeJS) y Ruby on Rails como parte de nuestro programa.

Ruby on Rails.

Rails está escrito en Ruby. Ruby es un lenguaje que se puede aprender fácilmente y se desarrolló para facilitar la vida de los programadores. Rails es un marco de aplicación web que se ejecuta en el lenguaje de programación Ruby. Básicamente facilita la creación de aplicaciones web en el lenguaje Ruby.

En el mundo de hoy, todo el mundo quiere que el trabajo se haga rápidamente. Cuanto más rápido se pueda hacer, más alto se le pagará. Ruby on Rails hace eso por ti. Puede crear aplicaciones web realmente rápido utilizando Ruby on Rails que cualquier otro idioma. De hecho, Ruby on Rails se hizo popular debido a sus “capacidades de desarrollo RÁPIDO”.

Normalmente, en otros idiomas es necesario escribir cientos de líneas de código para hacer una aplicación web o un producto útil. Pero en Rails solo un par de líneas y BOOM … la aplicación web está lista. Muchos desarrolladores de hoy usan Rails sobre plataformas como .NET y Java, simplemente porque no son tan adecuados para un desarrollo web rápido como Rails.

Ecosistema y compatibilidad

Rails es un marco de código abierto que es gratuito y ampliamente disponible. Tiene muchas gemas (bibliotecas) que están bien mantenidas. Muchas nuevas empresas prefieren implementar sus aplicaciones en un proveedor de PaaS (Plataforma como servicio) ya que PaaS reduce significativamente la adopción inicial de software costo. Todos estos admiten rieles listos para usar. Las modificaciones también son mucho más fáciles en Rails que en cualquier otro idioma.

Soporte comunitario

Rails tiene una comunidad extremadamente activa. Ningún otro marco puede acercarse a él. Este apoyo de la comunidad ha dado inicio a muchos desarrolladores porque en el momento en que tienen algún problema, las personas están allí para ayudar. La respuesta de la comunidad también es muy rápida.

Trabajos

Hay muchas aperturas para Rails. Principalmente, las nuevas empresas están contratando personas que pueden desarrollarse en Rails, simplemente porque un pequeño equipo puede obtener un producto viable en beta rápidamente.

Conclusión, Learning Rails sería la mejor opción ahora mismo, ya que hay mucho desarrollo en este y en el futuro también se ve brillante.

Happy Coding .. 🙂

Nota: No tengo idea sobre Ruby on Rails y nunca lo aprendí. Esta es una respuesta sesgada. El resto de las respuestas aquí son geniales, siga esto SI selecciona Nodo sobre Ruby.


El pasado mayo le pregunté a mi profesor de programación web si debería centrarme en aprender más sobre JavaScript o elegir Node, Angular y Ruby.

Él dijo, repasar sus habilidades de JavaScript (solo había completado el curso de JavaScript en codeacademy) y buscar su marco. Ruby es genial, pero cuando eres bueno con JavaScript, tendrás toneladas de opciones para elegir. Puedes elegir Nodo o Angular o Reaccionar.

Si aprendes rubí, puedes crear aplicaciones geniales. Si aprende JavaScript, puede aprender muchos más marcos que lo ayudarán en el futuro. Si te gusta construir aplicaciones, elige Ruby, si quieres aprender, elige JavaScript y luego Node o Angular o React.

En caso de que decida ir con Node, estoy aprendiendo Node en este momento The Complete Node JS Developer Course – Udemy con este curso. Lo conseguí por 10 dólares y es increíble. Es largo porque enseña todo desde el principio, aclara lo básico y luego enseña las cosas complejas mientras construye algunos proyectos.

He creado un par de proyectos (vishukamble / WeatherApp && vishukamble / TodosApi) y estoy disfrutando de Node. También puede obtener una idea a través de esto: Tutoriales de Node.js para principiantes.

¿Por qué no ambos?

A corto plazo, realmente podría comenzar con cualquiera de los dos, ya que ambos lo guiarán en el camino hacia ser un desarrollador web versátil.

Node.js (y, por lo tanto, JavaScript) es más flexible porque es un lenguaje utilizado para servicios de backend, juegos de disparos en primera persona y todo lo demás. Con flexibilidad viene la complejidad. Tratar con asincronía, una biblioteca estándar inconsistente y muchas formas diferentes de hacer las cosas es normal para el curso.

Será mejor comenzar con Ruby on Rails si está buscando construir una API o algún tipo de sitio web de contenido dinámico. El código que escriba en Ruby será más robusto y aprenderá muchas buenas prácticas de programación a medida que ingrese a RoR.

En definitiva, sin duda trabajará con JavaScript, pero aún así recomendaría comenzar con Ruby on Rails para una introducción más sensata al mundo del desarrollo web.

Estoy de acuerdo en que debes aprender ambos. Pero la verdadera pregunta es qué aprender primero. Comencé aprendiendo Node.js en un campo de entrenamiento y terminé trabajando como desarrollador de Rails.

Con fines de aprendizaje, primero aprendería Rails. Rails está muy estructurado porque es un marco. Todo tiene que estar en su lugar para que la aplicación funcione. Siento que Node.js es más avanzado. La estructura de la aplicación Node.js es muy flexible, por lo que puede ver un tutorial en línea con una determinada estructura de archivos y otra con una diferente. Esto hace que sea muy confuso aprender. Sobre todo cuando no sabes nada. La estructura de Rails es estricta, lo que le permite concentrarse en el aprendizaje, en lugar de depurar por qué la aplicación no funciona porque el archivo está en la carpeta incorrecta. También Rails tiene excelentes mensajes de error.

Después de aprender Rails y comprender cómo funcionan las aplicaciones web, cosas como autenticación, datos Json, respuestas, solicitudes, parámetros, controladores, modelos y todas las demás cosas que componen el desarrollo web. Node.js fue mucho más fácil de entender y mucho más fácil de implementar.

Lo principal es aprender sobre cómo funciona la web. Ya sea Node.js o Rails o cualquier otro, todos funcionan igual con respecto a la realización de solicitudes y respuestas http. Eso es lo principal que debes aprender. Aunque no es lo único que se puede aprender, probablemente sea lo más importante. Las aplicaciones web no funcionarán sin él. Simplemente crea algo que haga más que solo una aplicación todos. Un buen proyecto es una aplicación de chat donde puedes subir imágenes. Esto puede tener usuarios y cuentas. Recomiendo usar Rails porque hay mucha información disponible y las cosas son un poco más fáciles de implementar con Rails.

Si hubieras hecho esta pregunta hace un par de años, definitivamente sería Ruby (w Rails), pero el tiempo ha cambiado y los requisitos de tecnología de las tareas, por lo tanto, tenemos un nuevo líder: Nodo JS . Pero, permítame recordarle que Node.js tiene js en su vagabundo, es decir, si ha dominado el JS fundamental y está seguro de emplear JS para el desarrollo frontend, entonces solo debe dirigirse al Nodo jS. Ahora, iluminémonos con algunas estadísticas.

fig: Ruby siendo linchado por los lenguajes modernos.

¿Qué tiene que decir Google sobre esto? (Tendencias de Google)

fig: la popularidad de Node js entre los desarrolladores no va más allá de

Si miramos hacia el mercado laboral, entonces

En pocas palabras , Ruby on Rails, a pesar de ser flexible y compatible con IDE con características como Migraciones de bases de datos y funciones fáciles, en realidad es mucho más complicado al hacer grandes proyectos, ya que la documentación es solo para marcos populares, exige más recursos informáticos y la depuración es aterradora.

Pero, el Nodo Js a pesar de ser nuevo y atractivo con una aparente inestabilidad en las API tiene bibliotecas subyacentes poderosas y una alta demanda del mercado totalmente apilada.


En su libro más vendido en la historia, “Piensa y hazte rico”, Napoleón Hill citó esta interesante historia:

Muchas personas cometen el error de suponer que, debido a que Henry Ford tenía poca “escolaridad”, no es un hombre de “educación”. Quienes cometen este error no conocen a Henry Ford, ni entienden el significado real de la palabra “educar”.

Esa palabra se deriva de la palabra latina “educo”, que significa educar, extraer, DESARROLLAR DESDE EL INTERIOR. Un hombre educado no es, necesariamente, uno que tiene una gran cantidad de conocimientos generales o especializados. Un hombre educado es aquel que ha desarrollado tanto las facultades de su mente que puede adquirir lo que quiera, o su equivalente, sin violar los derechos de los demás. Henry Ford viene bien dentro del significado de esta definición.

Durante la guerra mundial, un periódico de Chicago publicó ciertos editoriales en los que, entre otras declaraciones, Henry Ford fue llamado “un pacifista ignorante”. El Sr. Ford se opuso a las declaraciones y presentó una demanda contra el periódico por calumniarlo. Cuando la demanda fue juzgada en los tribunales, los abogados del periódico se justificaron y colocaron al Sr. Ford, él mismo, en el estrado de los testigos, con el fin de probarle al jurado que era ignorante. Los abogados le hicieron al Sr. Ford una gran variedad de preguntas, todas ellas con la intención de probar, con su propia evidencia, que, si bien él podría poseer un conocimiento especializado considerable relacionado con la fabricación de automóviles, era, en general, ignorante.

El Sr. Ford fue interrogado con preguntas como las siguientes:

“¿Quién fue Benedict Arnold?” y “¿Cuántos soldados enviaron los británicos a América para sofocar la Rebelión de 1776?” En respuesta a la última pregunta, el Sr. Ford respondió: “No sé el número exacto de soldados que enviaron los británicos, pero he oído que era un número considerablemente mayor que nunca”.

Finalmente, el Sr. Ford se cansó de esta línea de preguntas, y en respuesta a una pregunta particularmente ofensiva, se inclinó, señaló con el dedo al abogado que había hecho la pregunta y dijo: “Si realmente quisiera responder pregunta tonta que acaba de hacer, o cualquiera de las otras preguntas que me ha estado haciendo, permítame recordarle que tengo una fila de botones eléctricos en mi escritorio, y presionando el botón correcto, puedo llamar en mi ayuda hombres que pueden responder CUALQUIER pregunta que deseo hacer con respecto al negocio al que estoy dedicando la mayor parte de mis esfuerzos. Ahora, ¿me dirán amablemente, POR QUÉ debo llenar mi mente con conocimiento general, con el fin de poder responder? preguntas, cuando tengo hombres a mi alrededor que pueden proporcionarme cualquier conocimiento que requiera “.

Ciertamente había buena lógica para esa respuesta. Esa respuesta derribó al abogado. Todas las personas en la sala del tribunal se dieron cuenta de que era la respuesta, no de un hombre ignorante, sino de un hombre de EDUCACIÓN. Cualquier hombre es educado y sabe dónde obtener conocimiento cuando lo necesita, y cómo organizar ese conocimiento en planes de acción definidos. Con la ayuda de su grupo “Master Mind”, Henry Ford tenía a su disposición todo el conocimiento especializado que necesitaba para convertirse en uno de los hombres más ricos de América. No era esencial que tuviera este conocimiento en su propia mente. Seguramente ninguna persona que tenga la inclinación y la inteligencia suficientes para leer un libro de esta naturaleza puede perder el significado de esta ilustración.

La moraleja de la historia es que el conocimiento general es de poca utilidad. Se convierte en poder solo cuando, y si, se organiza en planes de acción definidos, y se dirige a un fin definido. Entonces, determine primero cómo lo va a usar, luego puede hacer la comparación.

Como otros dijeron, aprende ambos. Soy desarrollador de Node.js, pero pronto haré algunos desarrollos de rieles. Node.js se inspira mucho en RoR. Si conoce bien Javascript, Node.js se sentiría realmente natural para usted. Es una forma divertida de desarrollarse.

Pero dado que es temprano en el ciclo de vida de Node.js, hay muchas cosas que puedes aprender y nosotros, como desarrolladores de Node.js, aprendemos de Rails. Absolutamente invertiría tiempo en Node.js como una estrategia a largo plazo. Las empresas aún no se han dado cuenta del potencial para crear aplicaciones web en tiempo real con Node.js. Twitter usaba rieles y se trataba de información rápida. Node es rápido en hacer el tipo de cosas que Twitter está haciendo, Ruby es realmente lento (en términos de tiempo de ejecución) pero rápido en su desarrollo. Node intenta hacer ambas cosas rápidamente, pero es especialmente exitoso en mejoras masivas en la velocidad para la aplicación de E / S.

Tampoco en mi opinión. Se perderá porque no ha aprendido el idioma utilizado para escribir Node.js o Rails. Ambos son marcos web, así que … Debes hacer esto en orden … no me preguntes … Solo haz esto y serás un desarrollador web. Omita lo que ya sabe bien.

  1. Aprender HTML 5
  2. Aprender CSS
  3. Man up y elige 1 y solo 1, pero aprende con habilidad JavaScript o Ruby
  4. De acuerdo con su elección para 3 nodos de aprendizaje o rieles

La mayoría de la gente sigue en círculos. Arriba hay un camino para el éxito. No hagas 4 antes que 3 … Eso no es inteligente.


buena suerte. Probablemente nunca pasarás de 1 porque la mayoría de las personas no tienen tiempo para hacer todo esto … Pero buena suerte.

Si recién está comenzando, puede ser difícil encontrar un marco para evaluar: cuál es la tecnología adecuada para aprender.

Mucha gente arrojará números como: “Número de paquetes” o “Número de búsquedas de Google”, y las métricas como esa generalmente no son una buena manera de tomar la decisión.

En cambio, lo que tiene más sentido es determinar qué tecnología sería una mejor herramienta para el trabajo en cuestión.

Consulte esta publicación de blog para obtener detalles sobre:

  • La forma correcta de evaluar las tecnologías.
  • Las diferentes tecnologías que puede elegir: lenguajes de programación, marcos web, bases de datos y el front-end.
  • Rails vs. NodeJS. ¿Cuál es la mejor herramienta para ayudarme a lograr mis objetivos específicos?

NodeJS vs. Rails: cómo aprender el desarrollo web de manera inteligente

Primero diría que Node.js es solo un entorno para ejecutar javascript en el lado del servidor. No es un marco como los rieles. Una mejor comparación podría ser entre rails vs express.js. Pero rails en sí mismo es un marco web completo, mientras que express es un marco web muy minimalista (que se ejecuta en node.js).

Si solo está empezando a mojarse en el desarrollo web y javascript, express podría ser un poco más difícil de aprender. Además, los paradigmas de programación son bastante diferentes. En ruby, debe escribir código síncrono, mientras que en node.js su código es asíncrono. Y lleva algún tiempo obtener el modelo mental adecuado para escribir código asincrónico realmente eficiente o se pierde la ventaja real de usar nodejs.

Cuando se trata de escalabilidad:

  • Si bien los rieles son fáciles de aprender y desarrollar aplicaciones web rápidamente … el escalado es difícil y costoso. Es lento y necesita más recursos para escalar.
  • Por otro lado, nodejs es fácil y menos costoso de escalar.

Si estuviera en su lugar, sería futurista y vería la creciente demanda y la necesidad de aplicaciones en tiempo real. Sin duda, optaría por aprender nodejs / expressjs junto con perfeccionar mis habilidades de JavaScript. También con una buena retención de JavaScript, es mucho más fácil entrar en el desarrollo web de pila completa. Solo un idioma para cuidar.

Aunque anteriormente, trabajé en una función fullstack con python (django) + jquery + HTML + CSS, ahora disfruto más, trabajando fullstack con MEAN + SASS.

En mi inicio actual de helpo.in, tenemos bastantes componentes en tiempo real y elegir nodejs ha facilitado la vida para desarrollarlo y también para reducir mis costos de implementación.

En términos de “aprendizaje”, me atendré a lo que digo todo el tiempo: aprende todo lo que puedas.

Más específicamente a las 2 opciones que cuestionó, si su intención es crear aplicaciones web, comience por aprender Ruby on Rails. No solo el marco, sino que invierte tiempo investigando todo el ecosistema, las mejores bibliotecas, las mejores prácticas, herramientas, técnicas, todo lo que pueda.

Aprenderá rápidamente que Rails realmente usa Node.js para ayudar en el módulo de Canalización de activos. Por supuesto, Node está destinado a mucho más que ser un pequeño compilador de JavaScript.

Una vez que llegue a un punto en el que dice: “maldita sea, esta API que implementé usando Rails es demasiado lenta para mis necesidades actuales y está tardando una eternidad en seguir optimizándose”, entonces es posible que desee invertir algo de tiempo con Node.js, o incluso mejor, con opciones más modernas como Elixir o Go.

Sin embargo, querrá saber sobre NPM (Node Package Manager), ya que puede ser lo que usará en el futuro para administrar las dependencias front-end. Pero este campo Javascript siempre está cambiando, las personas se aburren demasiado rápido de los nuevos marcos brillantes que inventan. Todavía no perdería demasiado tiempo aprendiendo demasiado, solo elija las herramientas que ve en los tutoriales y elija Rails estables y maduros para proyectos pequeños a grandes.

¡Deberías aprender ambos! Hay muchos recursos en línea disponibles para cada uno.

Consulte una respuesta anterior mía para obtener los recursos para principiantes completos de Node.js: la respuesta de Gautham Thyagarajan a Quiero aprender Node.js. ¿Donde debería empezar?

Para Ruby on Rails, el mejor recurso es el Tutorial de Ruby on Rails (3ª ed.)

Si no está seguro por dónde comenzar, le sugiero que aprenda Rails primero simplemente porque el libro al que me vinculé es ridículamente sorprendente y gratuito para leer en línea.

Espero que tardes unos 45 días en sentirte cómodo en cada uno. Eso no es mucho tiempo. Mientras lo hace, intente con otra cosa que tome 90 días para ver resultados, como una dieta más saludable o meditar todas las noches antes de dormir.

Aprende ambos y si eres flojo, aprende Rails o Django primero. ¿Por qué? Atrás quedaron los días en que las personas usaban la herramienta perfecta para el problema. En estos días, las personas intentan lanzar su idea rápidamente, por lo tanto, a muchos les encanta Rails y Django. La norma actual en estos días es que si una idea es lo suficientemente valiosa, entonces invierta en una herramienta que lo ayudará a ahorrar costos de desarrollo a largo plazo, y Express.js, Flask, Spring son excelentes herramientas para la inversión a largo plazo.

Para crear prototipos y construir un MVP, realmente no necesita lo anterior, ya que es mucho más barato invertir en hardware que un desarrollador. Entonces la gente construye sus ideas en Rails o Django y luego, una vez que capta clientes, invierte en marcos rápidos.

¿Idealmente? Aprende todo

Si su tiempo es limitado, familiarizarse con Node le ofrece más por su dinero. Después de todo, Javascript es un lenguaje bastante convencional: estar familiarizado con él le permite desarrollar directamente para el navegador y también desarrollar directamente para el escritorio (al menos, para personas que tienen un nodo instalado), al mismo tiempo que se familiariza con muchas estructuras sintácticas y semánticas comunes. Ruby, por otro lado, es un extraño cruce entre perl y smalltalk, y tiene poca similitud con cualquier lenguaje moderno; Si bien la creación de plantillas en rieles es similar a la de varios sistemas de creación de plantillas Java y PHP, es realmente una mala idea utilizar dichos sistemas, por lo que tampoco puedo recomendarla en ese terreno.

Asumo, por su pregunta, que no es un desarrollador experimentado. Después de todo, su pregunta es sobre el aprendizaje de marcos basados ​​en dos idiomas diferentes, y el aprendizaje de marcos web, nada menos. Una vez que gane experiencia, familiarizarse con un nuevo marco no será particularmente difícil. Por lo tanto, vaya a adquirir experiencia con JavaScript, y en cinco o diez años puede regresar y recoger rubí en unas pocas horas.

Ruby on Rails vs Node.js: ¿Cuál elegir?

El rendimiento de Node.js ha aumentado dramáticamente durante los últimos 4 años, dejando a Ruby muy atrás en algunos casos peculiares. Por ejemplo, Ruby es uno de los idiomas más lentos cuando se trata de tiempo de ejecución.

Tiempo de ejecución de Ruby

El mercado laboral también muestra que la tecnología Ruby on Rails está perdiendo posiciones. Eso significa que la demanda está disminuyendo entre los empleadores y toda la industria, respectivamente. Mientras que el desarrollo del nodo, por el contrario, continúa fortaleciendo su posición anualmente.

Una conocida red social profesional LinkedIn ha reemplazado su back-end creado con la ayuda de Ruby on Rails por Node.js debido a razones relacionadas con el rendimiento, así como la escalabilidad.

Al aplicar la tecnología Node, la compañía ha logrado aumentar el rendimiento para ciertos escenarios hasta 20 veces, así como reducir la carga en los servidores.

Pros y contras de Ruby on Rails

Entonces, consideremos los pros y los contras del marco de Ruby on Rails en pocas palabras.

Profesionales de Ruby on Rails

  • Es un marco bastante flexible.
  • Se puede portar fácilmente a cualquier plataforma mediante migraciones de bases de datos
  • Rails permite expresar la lógica de una aplicación de forma intuitiva

Contras de Ruby on Rails

  • Puede ser complicado cuando se trata de grandes proyectos
  • Requiere más potencia de procesamiento
  • Es lento en comparación con otras tecnologías populares.
  • Tiene grandes marcos de pila que dificultan la depuración

Los pros y los contras de Node.js se encuentran en el artículo Node.js vs Ruby on Rails: The Power Behind Technologies

More Interesting

¿Deben los desarrolladores web diseñar conscientemente sus aplicaciones para pruebas automatizadas?

Para un B. Tech. Graduado de CSE que aún no ha comenzado a programar, ¿es bueno comenzar con Python y JavaScript? En caso afirmativo, ¿cuáles son los mejores libros para dominar Python y JavaScript en un nivel de principiante?

¿Cuál sería un gran "plan de estudios" para aprovechar todos los recursos gratuitos / de bajo costo en la web para aprender el diseño y desarrollo web?

Cómo crear una paginación en una página de vista única en CodeIgniter

¿Debería preocuparme más por el aspecto de mi sitio de WordPress o el contenido en él para obtener una clasificación alta en Google? Tengo un sitio de directorio con muchos listados.

¿Cuáles son las empresas web más influyentes en Pennsylvania?

¿Cuál es el mejor lenguaje de programación de desarrollo web de código abierto?

¿Es posible cambiar la clave secreta de una aplicación Django después de su implementación en producción? De ser así, ¿cuáles serían los impactos?

Cómo crear siempre una nueva base de datos en MySQL cuando un usuario se registra

¿Cuándo debe un equipo de startups tecnológicas traer un ingeniero de control de calidad / prueba dedicado?

¿Qué lenguaje de programación debo aprender para comenzar a codificar una aplicación como Instagram o WhatsApp?

¿Cuál es la mejor manera de desarrollar con éxito un sitio web y una aplicación para la adopción a gran escala?

Cómo mostrar dos div en HTML en línea recta

¿Por qué los desarrolladores todavía usan iframes?

Cómo mantener el elemento del menú principal resaltado con un color de fondo mientras se hace clic / activo en cualquiera de sus elementos del menú secundario