sdar

#97 Con el sdk usando jpm es realmente fácil y puedes usar xul y xpcom solo si lo necesitas.

https://developer.mozilla.org/es/docs/Mozilla/Add-ons/SDK

Empieza en ese link, no se como estará la traducción al español pero si tienes suficiente nivel te recomiendo que lo leas en ingles.

El primer paso te explica como instalar y usar jpm, si ves algo que ponga CFX ignoralo es lo que se usaba antes de jpm.

sdar

#6 Ya se requiere firma en algunos canales y en estable faltara bien poco, es la solución a posibles extensiones dañinas, pero ten en cuenta que con webextensions podrás acceder a las claves de los usuarios que estén almacenadas, así que puedes hacer extensiones dañinas sin problemas, obviamente no te las van a firmar pero tampoco te firmarían una extensión que use xul y xpcom y sea dañina.

El problema de las extensiones que usan xul y xpcom es que son propensas a romperse cada vez que mozilla actualiza algo en el navegador y los desarrolladores tienen que ir retocando cosas pero entonces la extensión se tiene que revisar y firmar otra vez y durante las semanas que tardan en firmarla no funcionara, con webextensions como es mas simple solo necesitaran revisar a mano algunas extensiones mientras que otras pasaran automáticamente.

xpcom es bastante complejo y les esta costando mejorar el navegador sin romper la compatibilidad, eso puedo entenderlo, pero si quieren eliminar xul y xpcom deberían dar una alternativa igual de potente en caso contrario están eliminando una característica muy importante para gran parte de los usuarios que aún usan firefox.

meneandro

#99 Ummm ¿porque no existe una API y todo se hace usando las tripas del navegador, y cada vez que hay cambios en las tripas evidentemente las extensioens que usen eso se rompen? y por eso, amigos, hay que cambiar la forma de funcionar las extensiones. Y las apis permiten controlar cómo accedes a información de usuario (control que ahora no existe) y dudo que haya necesidad de usar las claves del usuario para nada.

xul y xpcom se van a sustituír por webextensions api. Gran parte de los usuarios que aún usan firefox no tienen ni puta idea de qué coño es eso. Y gran parte de los desarrolladores de extensiones también hacen lo propio con extensiones de chrome, estoy seguro de que les resultará mucho más sencillo tener sólo una base de código que estar manteniendo 4 cosas distintas para cuatro navegadores distintos.

sdar

#124 Creo que deberías dejar de comentar sin saber nada del desarrollo de extensiones ni las limitaciones de cada sdk / api / framework.

Existen varias APIs y un SDK desde hace mucho que tiene mas o menos las mismas limitaciones que tendrá webextensions en el futuro puedes encontrarlo aquí:
SDK:
https://developer.mozilla.org/en-US/Add-ons/SDK/
APIs de alto nivel:
https://developer.mozilla.org/en-US/Add-ons/SDK/High-Level_APIs
APIs de bajo nivel:
https://developer.mozilla.org/en-US/Add-ons/SDK/Low-Level_APIs

WebExtensions que es la nueva "API" ya tiene acceso al historial y favoritos de los usuarios y probablemente tendrá acceso a las contraseñas en un futuro próximo así que es mas que probable que se puedan hacer addons que roben información personal de los usuarios sin problemas, pero para eso están las revisiones y las firmas digitales, una extensión de este tipo no se va a firmar por mozilla y por tanto no podrá ser instalada en los navegadores.

A pesar de que el actual SDK y sus APIs son compatibles con e10s (multi-proceso) y es de mas alto nivel muchos desarrolladores optan por usar xul y xpcom porque el sdk y próximamente webextensions no permiten la misma flexibilidad.

Ademas no pienses que xpcom son las tripas del navegador sin mas, xpcom es algo que integro mozilla para permitir precisamente un acceso a mas bajo nivel a ciertas partes del navegador permitiendoles destacar sobre los demás, mozilla es, en ultima instancia, quien tiene la ultima palabra en que se puede hacer con xpcom, ademas las firmas digitales permiten a mozilla no firmar extensiones que puedan ser dañinas para los usuarios estén escritas en xul/xpcom en el actual sdk o en el futuro webextensions.

XPCOM fue un gran trabajo por parte de mozilla y durante años a beneficiado a los usuarios y desarrolladores de extensiones, ahora van a acabar con todo esto sin ofrecer una alternativa igual de potente y algunas de las razones son simplemente mentira.

Las razones de eliminar xul y xpcom no son por seguridad, tampoco por ayudar a los desarrolladores, también han afirmado en algún momento que Electrolysis rompería estas extensiones pero se pueden rescribir para que sigan funcionando buen ejemplo es greasemonkey cuyo autor a estado meses reescribiendo su extensión para que funcionase correctamente con electrolysis y ahora recibe la noticia de que en un año su extensión dejara de funcionar para siempre debido a la retirada de xul y xpcom, esta extensión tiene mas de un millón de usuarios muchos de ellos no saben que es xul ni xpcom pero se van a quedar sin extensión de todas formas.

meneandro

#178 XPCOM es una capa de definición de componentes usados en el navegador, hecha justamente para aislar el código subyacente (código nativo para cada plataforma) de las funcionalidades del navegador. O sea, las tripas. Y xul es el equivalente para los componentes visuales, las interfaces gráficas de usuario. Que hacen y habrán hecho muy bien su trabajo, pero hay que reconocer cuando se llega a un callejón sin salida y cuándo cuesta más mantener código que crear nuevas funcionalidades a partir de él es que algo falla, y con el proyecto electrólisis lo han estado sufriendo mucho (les ha costado años implementarlo, otros navegadores han empezado más tarde y se les han adelantado).

Por otro lado, es mucho más fácil convertir tu navegador en un ente multiplataforma compilándolo para ello (si dispones de un lenguaje moderno, robusto, eficiente y que facilite dicha portabilidad como es RUST, que para algo lo han diseñado así y por algo están programando servo y otras piezas con él) que andar creando nuevas interfaces para xpcom para nuevas arquitecturas, con lo que cuesta de mantener.

Por otro lado, todo lo que he dicho no me lo he inventado yo, si acaso se lo ha inventado mozilla:
"XPCOM and XUL are two of the most fundamental technologies to Firefox. The ability to write much of the browser in JavaScript has been a huge advantage for Mozilla. It also makes Firefox far more customizable than other browsers. However, the add-on model that arose naturally from these technologies is extremely permissive. Add-ons have complete access to Firefox’s internal implementation. This lack of modularity leads to many problems.

A permissive add-on model means that we have limited flexibility in changing the foundations of Firefox. The add-on breakage caused by Electrolysis is an important example of this problem. Technologies like CPOWs help us to work around add-on problems; however, CPOWs have been a huge investment in effort and they are still slow and somewhat unreliable.

Without a fundamental shift to the way Firefox add-ons work, we will be unable to use new technologies like Electrolysis, Servo or browser.html as part of Firefox.

The tight coupling between the browser and its add-ons also creates shorter-term problems for Firefox development. It’s not uncommon for Firefox development to be delayed because of broken add-ons. In the most extreme cases, changes to the formatting of a method in Firefox can trigger problems caused by add-ons that modify our code via regular expressions. Add-ons can also cause Firefox to crash when they use APIs in unexpected ways."


Son ellos mismos los que reconocen que debido al acceso tan directo que hacen las extensiones a los componentes provocan que las extensiones rompan, así que algo sabrán

sdar

#179 Se rompen a veces con las actualizaciones es el precio a pagar por el acceso a bajo nivel, pero remplazar xul/xpcom con webextensions es como remplazar la mejor impresora 3d del mundo con 30 piezas de lego, si se pueden hacer cosas con 30 piezas de lego pero son pocas piezas para empezar y por mucho que añadan no sera lo mismo que la impresora 3d.

Apoyo la firma de extensiones (y mira que llevo 2 meses para firmar una), apoyo australis de todas formas la interfaz siempre se ha podido customizar y australis no ha eliminado eso si bien los addons necesarios para poder hacerlo serán imposibles de crear en webextensions, apoyo incluso la publicidad en tiles que introducirán dentro de poco ya que al menos se ha creado de forma que se respete la privacidad de los usuarios.

Pero remplazar xul/xpcom con webextensions es el mayor tiro en el pie que se han dado hasta ahora, si los usuarios de firefox hubiesen querido utilizar chrome lo estarían haciendo.

meneandro

#180 Eso se verá con el tiempo. Pero no se abandona una tecnología sobre la que se basa tu software (uno grande y con muchos años encima) sólo por capricho, si se hace es porque hay ventajas obvias, como en este caso las hay.

Si van a extender webextensions a petición de los desarrolladores será por algo también, pero tampoco te esperes barra libre.

sdar

#181 Lo han echo porque es una tecnología antigua y difícil de mantener, no estoy en contra de remplazar xul y xpcom estoy en contra de remplazarlo con algo infinitamente menos potente.

sdar

#59 Es "mas fácil" porque es de mas alto nivel, tienes cuatro apis en plan módulos predefinidos con los que montar la extensión pero si necesitas algo que se salga de ahí es totalmente imposible.

En ese aspecto se parece al actual sdk el cual tiene mas características ya que webextensions esta todavía en desarrollo y ten en cuenta que las apis del sdk ya son menos potentes que lo que se puede hacer con xul y xpcom, si bien en addons hechos con el sdk puedes usar xul y xpcom si quieres.

https://developer.mozilla.org/en-US/Add-ons/SDK/High-Level_APIs
https://developer.mozilla.org/en-US/Add-ons/SDK/Low-Level_APIs

orangutan

#93 Sin ser un experto programador y con mis conocimientos básicos de javascript, siempre me hubiese gustado hacer alguna extensión tonta para el navegador. Hace muchos años empecé a leer este libro http://www.amazon.com/Programming-Firefox-Building-Internet-Applications/dp/0596102437 pero el tema de XUL/XPCOM me pareció demasiado farragoso así que lo dejé.
Igual ahora me sería más fácil, pero tendría que ver por donde empezar...

sdar

#97 Con el sdk usando jpm es realmente fácil y puedes usar xul y xpcom solo si lo necesitas.

https://developer.mozilla.org/es/docs/Mozilla/Add-ons/SDK

Empieza en ese link, no se como estará la traducción al español pero si tienes suficiente nivel te recomiendo que lo leas en ingles.

El primer paso te explica como instalar y usar jpm, si ves algo que ponga CFX ignoralo es lo que se usaba antes de jpm.

sdar

Como bien a dicho vickop en #1 el que ha redactado la noticia no sabe lo que son los hilos y mucho menos diferenciarlos de los procesos, pero ademas se atreve a ir más allá y habla del proyecto electrolysis (e10s para abreviar) sin tener claro que es y continua diciendo cosas como [...veremos qué pasa con las extensiones de Firefox cuando este navegador pase a ser multiprocesal, ya que es muy probable que no funcionen adecuadamente...] no es necesario esperar al futuro para ver que pasa, no pasa nada se pueden rescribir las extensiones que usan xul y xpcom para funcionar con e10s sin problemas, las mas importantes ya son compatibles, otras extensiones funcionan sin mas o utilizando shims, y por ultimo las extensiones creadas con el SDK son totalmente compatibles.

Lo que si quiero mencionar es que eliminar las extensiones xul y xpcom obligara a muchos desarrolladores de extensiones a rescribir todo desde cero pero ademas hay extensiones que serán imposibles de recrear en este nuevo framework llamado webextensions, muchos desarrolladores no van a perder el tiempo intentándolo y se perderán buenas extensiones en esta transición, integraran algunas apis para que las extensiones mas importantes funcionen pero sera mas difícil innovar en el futuro por culpa de las restricciones que se van a aplicar a las extensiones.

Todo lo que no te gustase de firefox hasta ahora era fácil de solucionar usando extensiones, a veces cuando ellos modificaban o incluso eliminaban características te animaban a usar extensiones para subsanar el problema, con webextensions esto puede ser imposible.

Apoyo muchas de las decisiones controvertidas que ha realizado mozilla, la mayoría de las cosas que han hecho se pueden configurar o personalizar para que no te afecten pero eliminar xul y xpcom sin dar una alternativa igual de potente es un paso atrás, el sistema único de extensiones de firefox es una de las razones por las que muchos usuarios lo prefieren sobre otras alternativas como chromium/chrome.

jaimehrubiks

#34 Completamente de acuerdo. De hecho yo uso chrome y tengo firefox instalado con alguna extensión que no son posibles en chrome. Hay alguna extensión de firefox que me encanta desde tiempos que ni recuerdo, como DownThemAll y Fireftp. Eliminar por completo un framework super característico y potente es un paso atrás como dices.

orangutan

#52 #34 #2 Por una parte parece que será más fácil el desarrollo de extensiones con el nuevo sistema y por otra parte será más fácil "importar" extensiones de otros nevegadores.
Aquí podéis leer las justificaciones de los de Mozilla con respecto al cambio: https://wiki.mozilla.org/WebExtensions/FAQ
Y aquí explican un poco en qué consiste: https://wiki.mozilla.org/WebExtensions

sdar

#59 Es "mas fácil" porque es de mas alto nivel, tienes cuatro apis en plan módulos predefinidos con los que montar la extensión pero si necesitas algo que se salga de ahí es totalmente imposible.

En ese aspecto se parece al actual sdk el cual tiene mas características ya que webextensions esta todavía en desarrollo y ten en cuenta que las apis del sdk ya son menos potentes que lo que se puede hacer con xul y xpcom, si bien en addons hechos con el sdk puedes usar xul y xpcom si quieres.

https://developer.mozilla.org/en-US/Add-ons/SDK/High-Level_APIs
https://developer.mozilla.org/en-US/Add-ons/SDK/Low-Level_APIs

orangutan

#93 Sin ser un experto programador y con mis conocimientos básicos de javascript, siempre me hubiese gustado hacer alguna extensión tonta para el navegador. Hace muchos años empecé a leer este libro http://www.amazon.com/Programming-Firefox-Building-Internet-Applications/dp/0596102437 pero el tema de XUL/XPCOM me pareció demasiado farragoso así que lo dejé.
Igual ahora me sería más fácil, pero tendría que ver por donde empezar...

sdar

#97 Con el sdk usando jpm es realmente fácil y puedes usar xul y xpcom solo si lo necesitas.

https://developer.mozilla.org/es/docs/Mozilla/Add-ons/SDK

Empieza en ese link, no se como estará la traducción al español pero si tienes suficiente nivel te recomiendo que lo leas en ingles.

El primer paso te explica como instalar y usar jpm, si ves algo que ponga CFX ignoralo es lo que se usaba antes de jpm.

sdar

#89 Y en los de Intel, nvidia y arm seguramente hay mas pero ahora no recuerdo ninguna otra.