Sono aperte le iscrizioni all'Admission per il Codecamp 2017! ISCRIVITI ONLINE
Login

Entra nel Codecamp

Non ricordi la password?

CodecampCodecamp
  • Welcome
  • Corsi
  • Workshop
  • Aziende
    • Formazione in azienda
    • Perché diventare partner
    • I nostri partner
  • About
    • Chi siamo
    • Borse di studio
    • Diventare un insegnante
    • FAQs
    • Contatti
  • Libri
  • Blog
  • Carrello
  • Accedi
  • Welcome
  • Corsi
  • Workshop
  • Aziende
    • Formazione in azienda
    • Perché diventare partner
    • I nostri partner
  • About
    • Chi siamo
    • Borse di studio
    • Diventare un insegnante
    • FAQs
    • Contatti
  • Libri
  • Blog
  • Carrello
  • Accedi

Freelance Culture

  • Home
  • Freelance Culture
  • Alleggerisci la tua app Electron con Electrino

Alleggerisci la tua app Electron con Electrino

  • Scritto da Dario Ielardi
  • Categorie Freelance Culture
  • Data settembre 26, 2017
  • Commenti 0 commenti

Electron è un framework per lo sviluppo di applicazioni desktop cross-platform mantenuto dal team di GitHub.

Le potenzialità di questo framework sono notevoli: ci permette di sfruttare le tecnologie web standard ( HTML, CSS e Javascript ) per sfornare applicazioni capaci di girare su Windows, Mac o Linux indistintamente.

Sostanzialmente si tratta di un runtime che dalla nostra web app costruisce, in fase di build, un’app desktop multi piattaforma. Alcune tra le più note app che sfruttano questo framework sono Slack, VSCode ed Atom.

Il vero punto debole di Electron è costituito dal fatto che ogni applicazione sviluppata comprenderà nel bundle una versione dei due framework su cui si poggia: Node.js e Chromium, rispettivamente un runtime Javascript ed il browser engine sviluppato da Google per Chrome.

Quest’ultimo, però, stando al passo con le tecnologie web, rappresenta un software davvero vasto e pesante. Conta infatti abbastanza righe di codice da poter essere equiparato ad un sistema operativo!

Lo dimostra il fatto che l’applicazione “Hello World” sviluppata con Electron pesa ben 115 MB.

Quando un’app Electron è in esecuzione ha bisogno di caricare interamente una copia delle librerie da cui dipende nella memoria RAM, e questo succede separatamente per ogni applicazione, anche se le librerie necessarie sono esattamente le stesse, a causa del fatto che il sistema operativo non è in grado di rendersene conto.

Per applicazioni di dimensioni importanti come Visual Studio Code questo non rappresenta un reale problema. Se ci rivolgiamo alla community di sviluppatori Electron però, ci accorgiamo di come questo framework stia prendendo una direzione volta ad applicazioni di dimensioni ridotte, come desktop utilities o semplici widgets. Se dovessimo installarne parecchie sul nostro computer per avere un set di tools desktop ben fornito come piace a noi sviluppatori ci ritroveremmo con una copia di Electron che occupa RAM per ogni applicazione in esecuzione. E questo non è il migliore degli scenari.

 

Electrino

Potrebbe esserci una soluzione. Invece di sfruttare il motore Chromium portandolo sempre in bundle, un’app Electron potrebbe girare grazie al motore di runtime web incorporato nel sistema operativo. MacOS e Windows ne possiedono entrambi uno, rispettivamente WebKit ed Edge, ed in entrambi i casi si trova quasi costantemente già caricato in memoria.

Con questa soluzione un’app Electron potrebbe occupare meno spazio sia su disco che sulla RAM.

Lo scopo di Electrino è proprio questo. Si tratta di un componente di runtime che svolge lo stesso lavoro di Electron ma poggiandosi sul web engine nativo del sistema operativo. Ha inoltre come obiettivo la totale compatibilità di API con Electron, dandoci quindi la possibilità di utilizzare il nostro codice Javascript sviluppato per Electron.

Il clone dell’applicazione “Hello World” per Electron sviluppata con Electrino pesa solamente 167 KB, circa lo 0,1% dell’originale.

C’è da dire che al momento Electrino implementa solamente le API necessarie ad eseguire l’applicazione “Hello World”. Ovviamente abbiamo a disposizione la piena funzionalità del browser engine, ma le altre API presenti in Electron sono al momento assenti, impedendoci ad esempio di comunicare con il sistema operativo.

Con l’implementazione di tali API le dimensioni di Electrino andranno certamente a crescere, e sta agli sviluppatori evitare di raggiungere un livello che scoraggerebbe la community a sfruttare questo interessante e promettente framework.

  • Facebook
  • Twitter
  • Pinterest
  • LinkedIn
  • Pocket
  • WhatsApp
  • Evernote
  • Facebook Messenger
Dario Ielardi

Previous post

11 Librerie Javascript che meritano la vostra attenzione
settembre 26, 2017

Continua a leggere...

  • Imparare ad usare Javascript con WordPress – 6 consigli
    13 settembre, 2017
  • 3 consigli per il tuo Personal Brand
    11 agosto, 2017
  • Come diventare freelance
    Come diventare freelance
    21 giugno, 2017

Rispondi Annulla risposta

Cerca sul sito

Categorie Blog

  • Comunicazione & Social Media
  • Freelance Culture
  • Innovazione
  • JavaScript
  • Snippets
  • WordPress

Codecamp 2017

Workshop

22
Set
Marketing Automation con Mautic
9:00 am - 5:00 pm
Codecamp
21
Ott
WordPress PRO: perché i siti WordPress NON sono tutti uguali!
9:00 am - 5:00 pm
Codecamp
Elenco completo

Ultimi corsi online

Materiale di preparazione alla Codecamp Admission

Materiale di preparazione alla Codecamp Admission

Free

Aggiornamenti dal Blog

Alleggerisci la tua app Electron con Electrino
26Set2017
11 Librerie Javascript che meritano la vostra attenzione
21Set2017
Imparare ad usare Javascript con WordPress – 6 consigli
13Set2017
Codecamp - L'Academy dei freelance

(+39) 06 404 081 53

[email protected]

Codecamp

  • About Us
  • Blog
  • Lavora con noi

Formazione

  • Codecamp: il corso
  • Workshop
  • Corsi online

Support

  • Contatti
  • FAQs
  • Glossario

© 2016 Codecamp srls – Via Carlo Botta, 34, 00184 Roma – Tel: 06 4040 8153 – Google+ - P.IVA 14156841000

  • Privacy Policy
  • Cookie Policy
  • Termini e condizioni del servizio
  • Sitemap

Vuoi collaborare con noi?

Hai competenze di alto livello nel mondo dello sviluppo Web, esperienza come freelance e voglia di trasmetterla in un ambiente giovane e dinamico? Entra a far parte del team di Codecamp!

Invia la tua candidatura