Además de Ruby, ¿qué otras habilidades necesito para desarrollar aplicaciones Killer Rails?

La pila tecnológica que mencionas en tu pregunta es un buen comienzo.

Su aplicación asesina tendrá que almacenar datos, presumiblemente. Ya sea sqlite, mysql, nosql u otra cosa, es mejor familiarizarse (aunque los rieles hacen mucho trabajo pesado por usted).

Javascript no es estrictamente esencial, pero definitivamente es una buena herramienta para mejorar una interfaz front-end. Por lo menos, vale la pena saber un poco de jQuery. Es muy simple, y un poco hace mucho.

En lo que respecta al front-end, el CSS avanzado será lo que lo haga o lo rompa. Cuanto más profundo sea tu conocimiento de CSS, más claro podrás escribir tu HTML, más o menos. Considere familiarizarse con algunos marcos de aplicaciones para usuario, como el programa de arranque de Twitter, que hacen que los diseños estandarizados y receptivos sean fáciles.

Si asesino = éxito general, necesitará un UX profundamente considerado, marketing sólido, financiamiento, atención al cliente e idealmente alguna tutoría … así que comience a forjar relaciones con fundadores, inversores y posibles contrataciones.

Por mucho que nos gustaría ser un equipo de un solo hombre, saber cómo y a quién contratar es una habilidad propia.

Calidad. Su aplicación asesina no será demasiado si tiene errores. Conozca el marco de prueba y todas las herramientas que utiliza para gestionar la calidad. Establecimos un objetivo de cobertura de código del 97% para nuestras pruebas automatizadas y, si bien esa no es la única forma de administrar la calidad, definitivamente ayuda a mantener la calidad a la vanguardia de todo lo que hacemos. Rake spec es tu mejor amigo.

Dado que su pregunta no es cómo desarrollar ‘Aplicaciones Killer’ sino sus ‘Aplicaciones Killer Rails’, no voy a decirle que ‘las aplicaciones Killer son independientes del marco / lenguaje o lo que sea’.

Necesita una comprensión profunda del Marco. Sí, el marco está optimizado y sigue las mejores prácticas. Pero necesitas saber cada detalle. Aprender a usar un marco no es suficiente. Debe aprender cómo se creó el marco y cómo funciona. Solo si tiene este tipo de comprensión, podrá ajustar el marco para sus necesidades.

También debe tener una buena comprensión del Data Store y el ORM que va a utilizar. Bueno, tenemos ActiveRecord en Rails. Confiar únicamente en AR estaría bien para pequeñas aplicaciones que hacen CRUD simple. Pero cuando la complejidad de su modelo de datos aumenta, tendría que hacer algunas consultas bastante complejas. En esos casos, deberá examinar la consulta generada por AR, verificar si es óptima, de lo contrario, debe escribir la suya propia. Y del Data Store, tenemos muchas opciones en estos días. Independientemente de lo que elija, ya sea MySQL o Postgres o algunas bases de datos NoSQL, debe saber cómo se representan los datos, cómo funciona el motor de almacenamiento, etc., para crear una aplicación web que funcione de manera eficiente.

El lado del cliente también es importante en estos días. Es fácil crear una aplicación sofisticada del lado del cliente utilizando los marcos disponibles en la actualidad. ¡Pero la gente optaría por una aplicación normal que no sea AJAX en lugar de una aplicación asincrónica lenta y con errores cualquier día! Debe tener en cuenta el rendimiento cada centímetro del camino al diseñar su lado del cliente.

Tendrá que usar el almacenamiento en caché de manera inteligente. Debe comprender cómo el navegador lee y representa su HTML y CSS. HTML y CSS escritos ingenuamente pueden causar muchos problemas de rendimiento.

Luego viene su servidor web, servidor de aplicaciones y toda su arquitectura física y configuración de pila.

Tener una idea para una aplicación asesina no significa que puedas construir una aplicación asesina. No importa cuán buena sea la idea, la ejecución es crucial. Y para eso necesita al menos cierta comprensión de cómo funcionan las cosas y la capacidad de entrometerse en ellas para satisfacer sus necesidades y lograr el máximo rendimiento.

More Interesting

¿Por qué no se puede usar JavaScript en el back-end sin Node.js cuando casi ningún otro lenguaje de programación no necesita un marco para funcionar en el back-end?

¿Es posible hacer un sitio web como Khanacademy.com gratis?

Cómo comenzar con el desarrollo front-end

¿Vale la pena crear un musical de Broadway para la película The Warriors (http://warriorsmovie.co.uk/)?

Como desarrollador completo de Java / JS, ¿qué puedo aprender para avanzar en mi carrera? ¿Es Scala una apuesta segura?

Cómo comenzar a probar un servicio web RESTful usando Java

¿El mejor código para UX fuera del front-end? ¿Estoy bastante aburrido con el front end y me pregunto cuál es la mejor codificación para aprender a hacer UX para aplicaciones o IOT?

¿Cómo se creó websitegrader.com?

Cómo encontrar los enlaces rastreados en mi sitio web

¿Qué son los mapas fuente en Javascript? ¿Cómo trabajan ellos? ¿Y por qué debería importarme?

¿Aprender Node.js después de conocer JavaScript del lado del cliente es como aprender Sass después de CSS? Si no, ¿hay una mejor analogía?

¿Cuál de estas implementaciones de diseño de materiales debería usar si planeo desarrollar una interfaz de usuario web con Angular 2?

Lo que sería más adecuado para desarrollar un mercado similar a Zomato (no en el espacio de alimentos); ¿Sugar CRM o una plataforma personalizada (desde cero / codificada)?

¿Cómo podemos poner MySQL bajo control de versiones? Quiero hacer un seguimiento de DDL, DML, SP y todo en servidores MySQL.

Cómo estructurar una aplicación compleja Nodejs, express, mongodb (con mangosta)