Hace 1 año | Por manuelmace a xataka.com
Publicado hace 1 año por manuelmace a xataka.com

Desde que se lanzó WhatsApp Desktop se usaba el framework Electron. Esto quiere decir que, al ejecutarla, estaremos lanzando una instancia de Chromium con una capa de ejecución de javascript Node.js. Es decir, que cada vez que abríamos WhatsApp Desktop realmente estábamos lanzando un navegador dedicado. El problema es que si teniendo WhatsApp ejecutamos Slack o Spotify, que también usan Electron, no estaremos abriendo tres pestañas de un navegador del que comparten una base de recursos, sino que estaremos abriendo tres navegadores distintos.

Comentarios

frg

#1 El problema es que seguro no te da la misma funcionalidad.

Gry

#3 El artículo pone que la aplicación instalable y la aplicación web usan el mismo código.

frg

#4 Ya te digo yo que el mismo, mismo no es.

Cyberbob

#6 Asi es. Eso es lo que le vendió al equipo el que tomó la decisión pero deben haber importantes diferencias.

Seguramente si que tengan en común la lógica de conexión y mensajes… pero el resto…

frg

#15 Sí que es una diferencia ...

Alt126

#4 Whatsapp quizá es muuuuuuuy igual (pero no exacta por mucho que digan que es lo mismo) pero spotify difiere mucho si quieres hacer algo.
Como quieras montar una lista de reproducción estás totalmente perdido en la web, faltan búsquedas dentro de la lista, reordenación y el aviso de canción ya añadida (así rápido que recuerde ahora, podrían ser mas cosas)
No existe menú configuración (así que ni normalización de volumen, crossfade, escoger la carpeta de descargas... nada)

Y eso por no hablar que directamente otras aplicaciones no tienen alternativa porque no existe la versión web.

obmultimedia

#4 vamos, que te estan vendiendo la moto y no deja de ser un ejecutable con un navegador empaquetado con la version web de la aplicacion.

porkopek

#4 Aun usando el mismo código, el navegador viene con unas limitaciones de seguridad autoimpuestas que el navegador integrado en la app no tiene, por lo que puede hacer más cosas

Acuantavese

#4 La versión app no requiere que hayas accedido al wasap en el móvil, solo por eso me lo he instalado

HaCHa

#3 Whatsapp web ahora mismo en según qué Firefox con sus medidas antirrastreo da una de problemas bestiales. Yo no he tenido más remedio que instalarme la mierda esa basada en Electron porque para tenerlo en un navegador aparte casi mejor lo tengo en uno dedicado. Y parecido me pasa con el Spotify.

Gry

#5 a mi Google Maps me funciona en Opera en el móvil sin salir del navegador.

Aergon

#9 El problema es cuando intentas abrir una dirección compartida desde la app, para conseguir abrir ese tipo de enlaces hay que abrir una pestaña privada y poner el modo escritorio o si no solo te da la opción de descargar la app de marras

mecha

#10 Maps.me ya permite abrir ubicaciones compartidas por wasap, si no quieres usar Google Maps.

Aergon

#24 Tampoco uso wasap
Pero gracias, probaré a ver. Por ahora uso waze

D

#5 Las apps están matando el world wide web

Aergon

#11

F

#18 Q grande Hans Zimmer en ese video

aironman

#11 Desde el punto de vista de la ciberseguridad, lo celebro. La WWW es un coladero de inseguridades.

aironman

#52 lo dices por android no?, no es normal que una app pida tantos permisos y ya puestos que Google haga dejación de funciones a la hora de escanear el código de las apps que se publican en su tienda. No soy usuario de android, ni developer android pero si se que tiene esa fama. Está justificada?

Apple parece que hace un trabajo más exhaustivo.

Las aplicaciones web tienen múltiples vulnerabilidades, desde los sistemas operativos, pasando por los servidores de aplicaciones, bases de datos, tecnología de contenedores, php, JavaScript, java, da igual.

Afortunadamente salen parches y más o menos seguimos adelante. Ahora, para mí uno de los problemas más graves que hay con las páginas web dinámicas es que es súper fácil hacer un clon de ellas y publicar un sitio phishing en un momento. Y hay muchas web muy mal construidas que ni siquiera son conscientes de las vulnerabilidades de las dependencias que usan, ni son conscientes de que hay que crear un código más seguro. Cosas como copilot y la gran demanda de devs en el mundo junto con una baja concienciación en la ciberseguridad permiten que a día de hoy existan muchas web vulnerables.

Desde un navegador haces click a ese phishing web y cómo no estes atento, estás entregando tus credenciales.

Desde la app firmada por el fabricante y la tienda oficial del fabricante no tendrías que hacer click jamás en un sitio web malicioso.

Siempre serán vulnerables los backends que sustentan dichas apps, pero al menos el problema del phishing disminuye

friguron_

#52 El enlace que puse antes es completamente absurdo e incorrecto, yo quería poner este:

https://www.slashgear.com/780920/10-reasons-to-stop-using-google-chrome/

Por lo visto alguien pensó que cambiar las URL de las webs que usan "infinite content" es super útil e inteligente por algún motivo (nunca lo es), y entonces es cuando pasan estas mierdas...

vilujo

#36 ¿Es mejor usar una aplicación que no sabes cómo está montada por dentro que usar una pagina web que tienes la certeza de que tiene permisos mas restringido y que puedes ver lo que estas ejecutando siempre que uses un buen navegador y que este bien configurado?

d

#5 A mi en firefox para android me funciona de 10 google maps

Aergon

#13 Igual con opera, solo es con enlaces compartidos desde la app de android que al abrirlas en el navegador automaticcamente se va a la store de google

Jordi213

#5 ¿usar Google maps a través de la web no es usar apps de Google?

Aergon

#56 Es usar un servicio de google a través de una app que no es de google como firefox u opera.
Para que me entiendas lo que no quiero es tener 20 apps instaladas para chorradas que no uso o puedo tener en el navegador como fb, tweeter, tiktok, gmail, gmaps...

ccguy

#1 Yo prefiero varias apps. Me da igual si es menos eficiente. No quiero mezclar lo permanente (youtube music, slack, discord, etc) con los tabs que van y vienen.

Gry

#20 Yo uso pestañas ancladas para esas cosas.

Grub

#21 #20 Yo no uso el teléfono para esas cosas.
Nadie debería juntar teléfono, banco y trabajo con "ocio" pagado por anuncios y derecho a información privada.

ccguy

#66 No estamos hablando del teléfono.

Grub

#67 Vosotros no. Pero no todo el mundo se programa su kernel en hexadecimal.
Aquí tb leemos los "pendejo sin nombre".

ccguy

#70 Lo mismo deberías leer el titular y que habla de Windows.

Grub

#71 Cierto.
Aún así, en estos tiempos casi todos piensan que su sistema operativo es Google.
Whatsapp es SMS e Instagram MMS. Y eso para los que "entienden"... wall wall
Teléfonos como coladores y no se dan cuenta. El PC ni lo usan. Triste.

m

#25 y en ocasiones, como GitHub, la versión web es infinita mente mejor

J

#1 Eso a mi no me pasa. Lo uso a diario y no veo que haga nada de lo que dicen en la noticia.

BM75

#28 La app permite videollamada.

J

#34 Revisa tu sarcometro, estará roto

ur_quan_master

#1 JavaScript, Nodejs y sus GB de memoria para decir Hello!

porkopek

#1 El browser es una sandbox, mientras que el chromium que viene en la app de escritorio no tiene muchas de esas limitaciones impuestas por seguridad al browser. En la app puedes utilizar sqlite local, por ejemplo, y no hay limitaciones CORS

d

#1 nop. Moraleja, los programadores de verdad que saben hacer aplicaciones nativas bien paridas para windows en C++ y MFC y sin bugs apenas existen ya. Hoy en día los que llaman programadores son simples fontaneros que conectan 4 piezas de un framework hambriento de recursos que los ingenieros buenos han creado para que los menos capaces puedan crear esta mierda de apps en poco tiempo y cobrando mucho menos que los buenos ingenieros/programadores. Todo es así en este mundo.

A

#2 Igual hay gente en Menéame que no lo sabe y le viene bien enterarse, no?

Aitor

#2 PhoneGap es otro truño, sí. Bueno, Apache Cordoba, que cambió de nombre hace tiempo. Y efectivamente es el mismo concepto: usar una aplicación web con un wrapper. O Ionic, que es el que estaba de moda últimamente y que, de hecho, está basado en Cordoba.

C

#62 Cordova, que Córdoba es otra cosa...

Aitor

#76 Mierda. lol

Escribía desde el móvil y el corrector se empeñaba en cambiarlo por Córdoba. Tenía que ir editando para quitar la tilde pero en el proceso se me pasó el pequeño detalle de la b y la v.

¡Gracias por la corrección!

manwy

#27 Yo con más de 5 ya me pongo nervioso

Jakeukalane

#30 mi novia igual jaja

friguron_

#27 Almeida, 5€, pagando en un mostrador chulescamente.

Jakeukalane

#68 #53 creo que queríais responder a otra persona.

Grub

#27 Hay tratamiento para eso. No lo cura. Los psicólogos tb tienen que comer a diario lol

D

#12 no has leido bien, lo ha cambiado por otro M1 con más ram

n

#12 No es por el chip, es porque 8GB de RAM se quedan cortos.

Aitor

#12 Ni caso, excusas de fanboys para comprarse cacharritos nuevos con el logo de la manzana.

Zade

#12 Cualquier portatil con chip de intel habría que tirarlo a la basura.

ccguy

#14 privativa, no propietaria

n

#14 Es la primera vez que escucho “solapa” para referirse a las pestañas o tabs.

d

#48 Una pestaña, solapa o lengüeta es un elemento de la interfaz de un programa que permite cambiar rápidamente lo que se está viendo sin cambiar de ventana que se usa en un programa o menú.

https://es.wikipedia.org/wiki/Pesta%C3%B1a_(inform%C3%A1tica)

n

#55 No si no lo dudo, simplemente es la primera vez que lo veo.

h

Lol, vaya basura de artículo, no sé ni por dónde empezar.

Secuestrar??!!

i

Leo la entradilla y dejo de leer.

1 - Cada vez que se abre una pestaña en Chrome, el sistema operativo crea un proceso. Por tanto 3 pestañas abiertas en Chrome es como si tuvieses 3 navegadores abiertos. Abre el Administrador de Tareas y cuenta el nûnero de procesos de Chrome y el número de pestañas abiertas.
De esta forma si una pestaña, un proceso, se queda colgada (una web mal programada o un bug de Chrome) no afecta al resto de pestañas. Antes los navegadores utilizaban un único proceso para todas las pestañas. Si una pestaña petaba, todas se veían afectadas.
Chrome tiene un proceso padre para compartir cierta información entre los procesos hijos (las pestañas) pero tiene que ver con servicios interesantes entre pestañas de navegador (gestión de usuarios, cookies, localstorage, etc)

Por tanto, estas aplicaciones que no son mas que una web en pantalla completa, pues...es como si separaras una pestaña de tu Chrome y la abrieses en una nueva ventana.
¿Cual es el problema?

2 - ¿Compartir información entre las aplicaciones? La mejor manera de que una aplicacion no se haga con datos sensibles de otra app es “compartimentación”, “encapsulamiento”. ¿Para qué quiere la app de Slack acceder a datos sensibles de la app de Whatsapp, como los tokens de sesion o información del usuario? Para nada. ¿Y qué pasaría si una app maligna en un mundo no-encapsulado se pusiese a robar los datos de otras apps?

d

#29 " Por tanto, estas aplicaciones que no son mas que una web en pantalla completa, pues...es como si separaras una pestaña de tu Chrome y la abrieses en una nueva ventana. "

Desconozco como es en el caso de chrome, pero dudo que se así como dices.

Una cosa es que un proceso padre cree hilos hijos que gestionen distintas ventanas de chrome compartiendo el proceso padre.
Otra bien distinta es que whatsapp instancie un navegador con un nuevo proceso, y éste gestione sus ventanas.

Estoy bastante seguro que es el 2do escenario.

i

#35 Solo tienes que abrir el TaskManager y comprobar lo que te digo.
Chrome no crea hilos hijos, sino procesos hijos. Lo que ves en el TaskManager son procesos y no hilos. Al abrir una pestaña verás como se crea un nuevo proceso.
Los hilos hijos no previenen la congelación del proceso padre, además cada pestaña necesita mucho mas que un hilo hijo.

d

#44 De acuerdo con la diferencia entre procesos e hilos.

La prueba que propones no es válida. Chrome crea procesos hijos para sus tabs y para tabs en otras ventanas, de acuerdo.

Sin embargo con whatsapp es distinto.
Whatsapp tiene su propia versión de chrome embebida, por eso ni hace falta tener instalado chrome para que funcione.

Si cierras el proceso padre de chrome, no se cerrará whatsapp. Y viceversa.

Grub

#54 #44 Gracias por esos comentarios!

i

#54 La prueba que Chrome crea un proceso por cada tab es tan sencillo como abrir el Administrador de Tareas y que mires cuantos Chrome.exe tienes ejecutando.
“Coño! Si solo tengo una ventana de Chrome porqué tengo 100 Chrome.exe ejecutándose?”
Pues porque tienes 100 pestañas abiertas
Y cada una ejecuta un proceso Chromium.

La app de Whatsapp instala y ejecuta un navegador Chromium mínimo embebido. Por eso las apps basadas en Electron ocupan bastante espacio en disco, pero ahí ya entraríanos en otra discusión sobre eficiencia de memoria y almacenamiento.

Una aplicación para Windows creada en Win32 a pelo que ocupa 500KB pues ocupa 50MB si se programa en .NET. Pero la primera se tarda en programar 1 mes, y la segunda una mañana. ¿Que deciden hacer las empresas de desarrollo ahora que el almacenamiento no es un bien escaso? Utilizar frameworks y librerias a cascoporro: Cairo, WxWidgets, .NET, etc...

Pero me desvío del tema.
Whatsapp lanza su propio proceso Chromium al igual que Chrome lanza un Chromium por cada pestaña. Whatsapp lanza un Chromium mas reducido que cada pestaña de Chrome, por lo que consume menos RAM. Al instalar Whatsapp se instala en el disco un mininavegador Chromium, pero es que Whatsapp no puede depender de si tienes o no tienes ya Chrome instalado (que pasaría con Whatsapp si desinstalas Chrome?)

Como comentaba. El artículo no tiene ni pies ni cabeza. “Uoo que malote que Whatsapp lanza por debajo un proceso de navegador”. Pues lo mismo que si lanzas en una pestaña de Chrome el Whatsapp Web. Bueno, lo mismo no, a nivel de RAM es mas liviano. A nivel de Disco duro, es una app instalando y ocupando mas memoria. A nivel de seguridad, es probable que un agujero de seguridad en el proceso padre de Chrome permita que un proceso malicioso hijo (una web en una pestaña) pueda hacerse con información del proceso de la pestaña de Whatsapp Web, ain embargo esta posibilidad es imposible en Whatsapp instalado porque Whatsapp.exe es una aplicación independiente.

Al final esto no es mas que la evolución de las PortableApps. Todas las PortableApp ejecutan un mini virtualizador y luego la app dentro como si fuese un contenedor. ¿Para que instalar el minivirtualizador siempre? Pues porque funcionan standalone y no pueden depender de si lo tienes o no ya instalado.

Los frameworks han permitido que con un único desarrollo puedas crear una app para iOS, Android, Windows y Linux (desarrollos multiplataforma) y que las empresas no tengan que crear un equipo de Swift, otro en Kotlin, otro en Win32 y otro para Linux.

La gran ventaja es que Linux consigue apps que de otra forma sería impensable. Si Whatsapp hubiese tenido que decidir hace 10 años, habría hecho con casi toda seguridad una versión de Windows. Ahora hacen una app Electrón que corre en Windows y Linux. A costa de consumir mas recursos. Pero es que el mundo funciona así, a base de balances.

Me voy a sobar, que en esta parte del mundo ya es tarde.

Dark_Wise

El becario de xataka la que ha liado cuando están de vacaciones lol

samsaga2

Basura de artículo. WebKit está integrado en multitud de programas diferentes. No es malo en absoluto, lo único es que las apps consumen mas RAM.
Por ejemplo, casi todos los antivirus tiran de Electron.

P

A mi Electron me parece una porquería y los desarrolladores que usan Electron para salir del paso unos vagos, Pero el colmo es cuando ves una terminal que usa Electron (como es el caso de Hyper).
Afortunadamente en el lado opuesto hay gente que hace cosas como esta:
https://github.com/justchokingaround/lobster

porkopek

#33 Claro, los desarrolladores de vscode son unos vagos... Lo que hay que leer

n

Muerte a Electron, sus aplicaciones y sus desarrolladores.

E

El artículo es amarillista a más no poder. Electron tenia en su momento sus ventajas nada que ver con exclusivamente encapsular una web dentro de un navegador, eso es más vagueria del programador. Para eso el mundo web ofrece la PWA, está superadisimo.

neo1999

web.whatsapp.com
De nada

F

Este artículo es un despropósito de principio a fin. Para correr una app en Electron NO se necesita Nodejs. Si para buildearla, pero no para correrla. Ni por asomo vaya. Solo necesitas un navegador y listos. 

j0seant

El de la Microsoft Store que anuncian como "el nuevo" también usa Chrome por debajo, solo hay que ver la clase de la ventana principal que crea: "Chrome_RenderWidgetHostHWND"

De todas formas si es por la preocupación de la memoria, me parece una tontería a día de hoy que hasta el equipo más mierder tiene 8GB que puedes abrir más cosas de las que abre cualquier usuario avanzado sin problemas... porque consumirá RAM, pero es de los navegadores mas fluidos, así que vale la pena, pero son un montón de apps que consumen memoria y luego no caminan ni para atrás consumiendo mas CPU de la que deberían..

avalancha971

Pensaba que estaría secuestrando nuestros datos, y resulta que son lo recursos del ordenador.

La verdad que lo que tiene tela es que una instancia de un simple navegador requiera tantísimos recursos.

Porque lo cierto es que prefiero una instancia separada, que como dice la compañía, algo más de seguridad tendrá evitando que otras pestañas de la misma instancia puedan encontrar un agujero para acceder a lo datos de la de WhatsApp.

Pero sí, es una chapuza. Para hacer eso, qe no hagan nada y que cada uno utilice la versión web en la instancia del navegador que quiera.

a

Pregunta luddita, que cuando lo intenté me cagué en tó: si no tienes smartphone porque no te sale de la ñocla... ¿la mierdunfla ésta funcionaría? porque todas las anteriores me requerirían activarlo teniendo una tarjeta smartphone... y ni quiero instalar Chrome ni ná, sólo usar el puto was para los vagos de mis compis que no se instalan el Telegram y prefieren que yo renuncie a todos mis principios lol