El día que le dije adiós a Ext JS Blog
Como muchos de ustedes ya sabrán, he trabajado con Ext JS desde las primeras versiones. He realizado tutoriales, videos e inclusive escribí un libro sobre esta librería.
Pero ha sido el momento de partir, de decirle adiós y especializarme en nuevas herramientas. Esta decisión ha sido en base a algunos acontecimientos dentro de la comunidad y Sencha, la empresa detrás de este framework.
ES6
En primero lugar he decidido dejar Ext JS por el nuevo estándar de JavaScript, ES6. Por lo visto Sencha no planea actualizar sus frameworks a este nuevo estándar. Lo que siempre me gusto de Ext fue su sistema de clases, pero ahora que sale ES6 ha quedado obsoleto, ahora podemos crear clases, hacer herencia, sobre escritura de métodos y aplicar todos estos conceptos de POO directamente con JavaScript nativo.
Migrar todos los componentes de Ext JS a este nuevo estándar definitivamente será toda una odisea, prácticamente re-escribir todo el framework.
MVVM
Ext JS siempre se caracterizó por tener una curva de aprendizaje muy alta, entre tantos componentes, clases y subclases es fácil perderse. En la versión 1, 2 y 3 se hizo un buen trabajo de encapsulamiento e ingeniería.
Para la versión 4 fue genial el MVC que se introdujo, fácil para los que teníamos experiencia y por supuesto para aquellos que decidían aventurarse era bastante más complicado que las versiones anteriores.
Para la versión 5 definitivamente complicaron mucho más las cosas, el MVVM que decidieron introducir a mi parecer tiene una sobre ingeniería que simplemente ahuyenta a cualquiera. Frameworks como Angular JS y React hacen las cosas mucho más sencilla, Ext JS simplemente es un dolor de cabeza con tantas configuraciones, me recuerda aquellos frameworks en Java donde había que configurar cientos de XMLs para hacer algo sencillo.
Theming
¿Alguna vez has hecho temas personalizados para tus aplicaciones? Bueno, yo si, todo el tiempo! Cada proyecto que hago requiere su propio tema, a nadie le gusta ya el color azul claro del tema por Clásico, Neptune o Crisp.
Crear un tema en Ext JS verdaderamente es un dolor de cabeza, se pierde mucho tiempo compilando todo el SASS que se tiene. Es posible poner un watch sobre tu código, pero igual sigue siendo lento comparado con otras herramientas como Gulp o Grunt.
Conocer todas las convenciones que Sencha definió para poder estilizar los componentes también es dolorozo, su problema principal radica en que muchos de los estilos y los layouts principalmente, están definidos directamente con JavaScript. En algunos proyectos hemos perdido al menos una semana entera intentando crear un layout personalizado, fluido y responsivo (Y eso que decimos ser "expertos" xD).
Sencha CMD
El Sencha CMD simplemente es una herramienta muy anticuada. Al parecer están trabajando en mejorarla, pero creo que ya es muy tarde para eso, personalmente no veo mucho sentido tener una herramienta como esta si es posible utilizar Gulp o Grunt.
La documentación siempre fue inexistente y muy complicado realizar cosas más allá de aquellas por default.
Licencias
Las licencias siempre fueron el talón de Aquiles de Ext JS, siempre fue muy confuso el tema legal pero aún así era aceptable comprar una o dos licencias, en especial para los freelancers que no necesitamos tantos. Pero el año pasado cuando cambió la administración de Sencha decidieron dejar de vender licencias únicas, ahora es necesario comprar como mínimo cinco licencias, si de por si ya se sentía cara comprar una sola, comprar cinco simplemente es imposible para aquellos que no las necesitan.
En mi opinión creo que esta fue una decisión muy absurda por parte de los directivos de la empresa, toda la comunidad reacciono mal y para muchos esta fue la gota que derramó el baso.
Enterprise
En el último SenchaCon dejaron muy claro que Sencha ahora apunta a las compañías grandes, no están interesados en vender a pequeñas empresas o estudios menores a 5 desarrolladores. Su objetivo son las grandes empresas.
Creo que le han dado la espalda a la comunidad y la comunidad ha desaparecido, prueba de ellos es que en el Sencha Con del 2013 los asistentes fueron cerca de los 1000, estaba completamente lleno y realmente que fue un excelente evento. Para este último Sencha Con 2015, muy poca gente asistió, podría decir que cerca de 300 personas o posiblemente menos.
Conclusión
En fin, no creo volver a escribir algún tutorial de Ext JS o Sencha Touch en este sitio. Ahora escribiré sobre React Native, una herramienta en la que he estado introduciéndome en los últimos meses y que realmente me está agradando. Así mismo planeo escribir sobre Angular 2 cuando estén cerca del RC.
Con este post no quiero decir que dejaré de programar y usar Ext JS, simplemente que ya no lo haré con el gusto como lo hacía antes, además de que trataré evitar involucrarme en estos proyectos. También aclarar que esta es solo mi opinión personal.
Gracias a Ext JS pude viajar a varios países fuera de México para consultar y resolver problemas. Fueron muy buenos momentos y hoy con nostalgia simplemente he decidido decir adiós.
11Comentarios
muy bien ! No tienes para mi que pedir perdon ni excusarte. Tu eres libre de cambiar y elegir. Ademas de dar tus puntos de vista. Exitos en lo que venga !
Hola, a mi también se me ha hecho complicado emigrar a las nuevas versiones de hecho en la empresa donde trabajo aun usamos la versión 3.4. Te he acompañado desde el principio y si me recuerdas tenia mucha participación en los foros, pero cada vez que me pongo a ver como pasar de mi versión a una nueva Sencha saca una nueva versión!!! Si encuentras frameworks que pudiesen resultar tan potentes y sencillos de usar como lo era Ext JS al principio, me encantaría que publicaras material al respecto y aprovechar esta gran comunidad que se forjó aquí para no encasillarnos en una sola herramienta y crecer como desarrolladores. Saludos!
Me acabo de dar cuenta que desapareció el foro de www.extjses.com :(
ese foro me ayudo mucho, en verdad, si veo que si voy a cambiar de versión y debo programar desde cero entonces ya no es conveniente. me acabo de enterar que sencha esta sacando la versión 7 y yo ni siquiera entiendo bien la 4 aun dudo en migrar de la 3.4 a la 4 y si sigue asi complicándose la cosa no me queda mas que migrar. Seria bueno que recomiendes algún otro framework que sea practico, sencillo para los desarrolladores como nosotros. SALUDOS.
Me ayudaste mucho Crysfiel, leía tú blog hace muchos años atrás recuerdo bien que entre los primeros tutoriales existía uno muy completo sobre EXTJS. gracias a ello pude completar mi trabajo de grado, ahora con cierta nostalgia me puse a leer este post, buenos tiempos.
Hola Crysfel, quería agradecerte pues gracias a tus blogs y tutoriales mucha gente aprendió ExtJs y personalmente yo me introduje a este mundo gracias a tus buenos consejos, mi tesis de ingeniería la hice gracias a todo lo bueno que aprendí aquí. Aunque nunca me registre siempre me gusto mucho el trabajo que hacen. Si decidiste que es hora de cambiar, pues pa'lante y Felicitaciones ... !!!
Que tal Crisfel, ya hace tiempo que no entraba a tu pagina, aunque hemos estado en contacto por Skype, te comento que en tu parecer tienes toda la razón del mundo, desde la entrada de Extjs 5, se confundio mucho la manera que se venia programando, actualmente de igual forma ya no he hecho otro proyecto con Extjs, salvo que hace unos dias, me contrataron para dar mantenimiento a una aplicación que la hice en Extjs 4 ya hace dos años, y pues ya tenia tiempo que no me metia a Extjs, hoy entre a la pagina oficial y ya no se ve el mismo auge que se tenia antes, apenas si hay un libro de Extjs 6 en el mercado; lo que siento que fue una mala metida de pata que hicieron los directivos, me recuerda a Delphi en sus buenos tiempos cuando la empresa era Borland, lo mismo paso hubo cambios de directivos y hasta de empresa y Delphi se vino abajo, solo quedamos los que con gusto programamos alguna vez en Delphi 7.
Tengo una duda, extjs te ofrece descargar pero dice de prueba por 30 dias, que quiere decir con esto? yo estoy haciendo una pagina web, entonces despues de los 30 dias aparecera un mensaje o ya no funcionara? que pasa despues de los 30 dias? :O
Uhm, simplemente te aparece una leyenda de ExtJS Trial en los themes y no se ve nada bien. Saludos.
Justo esta mañana estaba destacando las ventajas de utilizar ExtJS con un compañero de trabajo. Después de leer este post me di cuenta que en realidad no sabía nada. Observando que tienes experiencia, después de ver ExtReact ¿seguirías pensando de ese modo?
ewiNAHnCt