Cómo aprender a hacer un framework como jQuery

No hay un tutorial paso a paso para reconstruir jQuery. Pero hay códigos fuente anotados como este -> http://robflaherty.github.io/jqu…

Explica todas las variables y funciones dentro de jQuery 1.6.2. Separado en módulos como Core, Events, CSS.etc

Pero para comprenderlos necesitas saber Javascript avanzado.

Puedes leer el libro Secretos de Javascript Ninja de John Resig (Creador de jQuery) para conocer algunos conceptos avanzados en Javascript que te ayudarán a construir tu propia biblioteca.

Y también “Javascript Enlightenment”, “DOM Enlightenment”, “jQuery Enlightenment” de Cody Lindley.

Aprender JS solo no es suficiente, necesita conocer DOM y otras cosas relacionadas con el navegador (Eventos, Compatibilidad entre navegadores, etc.). También debe crear su propio motor selector de CSS. jQuery utiliza Sizzle JavaScript Selector Library para su Selector Engine. También puedes revisar su código fuente. El libro “DOM Enlightenment” es bastante bueno para explicar el DOM y las cosas relacionadas con el navegador como Eventos.

Por cierto, su pregunta es “hacer un marco como jQuery”. Solo quiero señalar que jQuery es una biblioteca, no un marco.

Los marcos son cosas como Backbone.js y Angular.js.

Backbone.js tiene un código fuente anotado oficial aquí -> http://backbonejs.org/docs/backb…

Y para Angular JS hay un excelente libro llamado Build Your Own AngularJS.

No puedo contarte ningún tutorial específico, pero aquí tienes una idea de cómo un desarrollador terminaría con una biblioteca como jQuery.

Supongamos que está creando un sitio web para su cliente y desea que se expanda un cuadro de texto cuando hace clic en el enlace “leer más” en la parte inferior.

Sacas tu editor de texto, Chrome, y usas referencias en Internet para escribir el script, ¡y funciona muy bien! Le dice al cliente en un correo electrónico que lo revise.

Te envían un correo electrónico diciendo que no funciona. Terminas entrando en una video conferencia para descubrir que están usando Internet Explorer 10 y el código que escribiste solo funciona en Chrome y Safari, pero no en Internet Explorer o Firefox, debido a pequeñas diferencias quisquillosas en cómo css, DOM y js se manejan en esos navegadores.

No hay problema, vuelve a él y escribe algunas versiones diferentes de su script de widget para que funcione en esos navegadores. Y agregas algunos más para IE 9, IE 8 e incluso IE 7 para esas pobres almas … sí, todos esos navegadores tienen muchas formas incompatibles de hacer las mismas cosas.

A continuación, agregue un ‘sniffer’ inteligente para determinar exactamente qué navegador se está utilizando, de modo que se pueda acceder a la versión correcta de su widget.

Finalmente, organizas todo para que puedas acceder al script una vez en tu código html y un archivo js grande separado resuelve todo sin importar qué navegador estén usando. ¡Agradable! Comprima ese archivo js (haciéndolo ilegible, pero se carga más rápido) y guárdelo con alguna documentación para poder usarlo más adelante en otros proyectos.

Eso es esencialmente lo que es jQuery, pero en lugar de un widget, son docenas (¿cientos?) De widgets y ayudantes.

Espero que ayude. ¡Feliz codificación!

JQuery no es un marco; Es una biblioteca de JavaScript para facilitar el desarrollo front-end.

En cuanto a aprender a hacer un marco (o biblioteca) no hay tutorial. Todo lo que puede hacer es ser lo suficientemente competente en JS, descubrir un problema que le gustaría resolver o resolver mejor e intentar construirlo. Esto requiere su propio intelecto, su propia comprensión del espacio del problema y de JavaScript, y una idea bastante buena de cómo quiere resolverlo.

Tl; dr, no hay tutoriales; Solo eres tú.

No conozco ningún tutorial para eso, pero estoy escribiendo en base a lo que sé.
¿Has entendido lo que es jquery?
Bueno, para mí es una biblioteca de JavaScript escrita por alguien y se distribuye libremente.
Entonces escribes algunas funciones de JavaScript y las distribuyes a otros.
por ejemplo: puedes escribir

función Rotar () {
// tu código aquí

si su función Rotar puede rotar cualquier elemento html, si alguien quiere obtener esta animación en la página html, puede usar su función javascript.
Puede distribuirlo utilizando cualquier proveedor de almacenamiento en la nube como Google Drive, Dropbox, etc.

No creo que quora nos permita publicar diez mil respuestas escalonadas. Los fragmentos más grandes son la comprensión de JavaScript, la comprensión de los problemas que se resuelven en el desarrollo de páginas web y las diferencias entre los navegadores. Cada uno de esos fragmentos es demasiado grande para una pregunta por sí solo también. Es complicado.

Te sugiero que adquieras mucha experiencia en JS antes de intentar escribir algo como jQuery. Ni siquiera mires el código fuente hasta entonces, ya que te confundirá muchísimo.

Creo que deberías buscar en http://microjs.com , hasta entonces. Elija un pequeño marco o biblioteca allí, úselo, luego mire el código fuente e intente replicar algo similar. ¡Esto le ayudará mucho!

Básicamente, de acuerdo con las otras respuestas, tendrá que aprender mucho más Javascript si desea hacer algo como jQuery. En ese momento ya sabrá los pasos necesarios para lograr su objetivo particular.

Te recomendaría saltar y visitar Tuts + inmediatamente. Comience por aprender algunos conceptos básicos de Javascript antes de saltar a marcos como jQuery y otros marcos similares de Javascript.