Después de aprender Ruby on Rails, todavía no entiendo cómo funcionan los mecanismos subyacentes de frameworks web. ¿Cómo puedo obtener una mejor comprensión?

Cuando me incorporé a mi trabajo después de graduarse de la Universidad, tuve que aprender el marco de la propia web que utilizamos en el trabajo. Es un poco como resorte, pero diferentes.

Me ha gustado la magia en el primero, al sólo hacer algunos clics en IDE, arrastrar soltar algunas cosas aquí y allá - entonces tal vez ejecutar un comando o invocar el IDE para iniciar la aplicación.

Pero poco a poco me di cuenta de que en un marco web se esconde más de lo que está mostrando. ¿Cómo autenticar bajo el capó? ¿Cómo sabe dónde enviar de nuevo los resultados y errores? ¿Cómo automáticamente genera las URLs?

No me codificación nada de eso. Ni siquiera sabía de qué parte de la estructura maneja.

Así que decidí aprender otros marcos - Django, Rails, etc. Express. Y eso ayudó enormemente. De repente me golpeó!

Ahora puedo comprender cómo funciona un marco bajo el capó. Lo más importante que nadie le dice al principio, es esta:

Un marco es lo contrario de una biblioteca. En una biblioteca, puede invoca el código de la biblioteca en el código y llama a las funciones de utilidad. En un marco, el código es cereza justo en la parte superior el código existente. El marco deja algunos huecos para rellenar, y llama a sus fragmentos de código o incluso las declaraciones y todo lo crea para usted.

Un framework web debe hacer algunas cosas básicas para usted:

  • Secuencias de escape desde el lado del cliente
  • Envío del formulario de la manija y protección contra CSRF, XSS, ataques
  • Abrigo de conexión a bases de datos, por lo que no tienes que escribir SQL
  • Darle un servidor de desarrollo que se reinicia y vuelve a cargar cuando se cambia el código
  • Darle un medio para especificar las rutas de la aplicación tan fácilmente como sea posible.

Encima de éstos, marcos podrían darle algunas funcionalidades extra. Sabe usted de carriles, por lo que está familiarizado con los carriles de andamios, o la consola de Rails. Podría dar usted bibliotecas de buena utilidad, probablemente manejar fácil de usar marcas etc..

Un marco general, también le daría una estructura de proyecto.

Usted puede ganar mucho de insight comparando Sinatra y rieles - basados en cuánto cada uno de ellos haría para usted, y cuánto dejan de hacer.

La mejor manera de comprender cómo frameworks web, es mirar varios frameworks web y probar. Empiezas a ver los patrones y las decisiones de diseño.

En el futuro, si su trabajo requiere que usted recoger un marco diferente - que podría ser activamente buscando cómo este marco X, en lugar de consumir pasivamente sus tutoriales.


Tags: Programación informática, Desarrollo Web, Ruby (lenguaje de programación), Ruby on Rails (framework web), Diseño Web