Electron e Ionic per applicazioni multipiattaforma

C’è un corso molto interessante su Pluralsight che, realizzando una piccola app d’sempio, spiega come utilizzare contemporaneamente le tecnologie Electron e Ionic.

Electron è un framework per lo sviluppo di programmi multipiattaforma, cioè programmi che possono girare su Linux, su Windows e su macOS.

Ionic è un framework per lo sviluppo di app “ibride” per dispositivi mobili, cioè app che essendo realizzate con tecnologie tipiche dello sviluppo Web: javascript (Typescript), Html e Css possono girare su Android, Windows Mobile e iOS.

Il corso si chiama “Creating Cross-platform Apps with Ionic and Electron” ed è tenuto da Michel Callagan.

ATTENZIONE !! 

Il contenuto di questo post è ormai obsoleto. E’ ora possibile realizzare applicazioni desktop utlizzando Ionic ed Electron in modo molto più semplice. In pratica includendo Electron in una app Ionic5.

In questo post Simon Grimm spiega come fare.

Il corso non è gratuito bisogna iscriversi a Pluralsight almeno per un mese, però, secondo me, il corso è davvero ben fatto, vake la pena seguirlo perché è utile e si impara davvero qualcosa.

Con l’abbonamento, inoltrem si può accedere a un numero elevato di corsi e può essere disdetto dopo il primo mese.

Per la verità il corso andrebbe un po’ rivisto, perché nel frattempo queste tecnologie, abbastanza giovani, hanno prodotto delle nuove major release per cui alcuni capitoli andrebbero aggiornati.

Il vantaggio dell’uso di queste tecnologie è che è possibile sviluppare il programma una sola volta ed eseguirlo poi su piattaforme differenti.

L’applicazione sviluppata nel corso è un programma per Windows e Mac che in una finestra fa girare una app fatta in Ionic.

In applicazioni di questo tipo, la parte in Electron interagisce molto bene con il sistema opertivo sottostante sfruttandone le funzionalità come il file sytem, le notifiche, .

La parte in Ionic permette di utilizzare il codice scritto per una app e farlo girare in un browser all’interno di Electron.

Il programma del corso è:

1 - Course Overview

Course Overview

2 - Getting Started
  • Intro
  • Project Concept
  • Prerequisites
  • Hardware and Software Requirements
  • Mac Tools Quick Start
  • Windows Tools Quick Start
  • Your First App
3 - Building a Desktop UI with Ionic
  • Getting Started
  • Creating the Ionic Project
  • Navigating to the Setup Page
  • Completing the Setup Page
  • Creating an Address List Page
  • Finishing the Home Page
  • Wrapping Up
4 - Interacting with the Host OS
  • Introduction
  • Adding Electron to Dispatcher
  • Fixing the Window Title
  • Setting the Application Icon
  • Customizing the Menu Bar
  • Using the System Notification Area
  • Navigating from the Tray Icon
  • Tweaking the Web UI
  • Adding a Splash Screen
  • Wrapping Up
5 - Making Service Calls
  • Introduction
  • The Dispatcher API
  • New Services
  • Address List HTML Updates
  • Address Details (Add/Edit)
  • Address Details in Action
  • Wrap Up
6 - Storing Application Data
  • Overview
  • Ionic Storage Update
  • d Dispatcher ServiceUp
  • dated Address Service
  • Setup Service and UI
  • Address UI Changes
  • Electron Changes
  • We're Done!
7 - Packaging and Deployment
  • Overview
  • Manual Packaging
  • Mac-specific Instructions
  • Windows-specific Instructions
  • Manual Packaging Conclusion
  • Electron Packager
  • Electron Builder
  • Application Deployment
  • Deployment in Action
  • Automatic Updates
  • What Next?

Considerazioni:

  • Il corso è in inglese, ma si comprende bene la qualità del video e dell’audio è ottima.
  • L’abbonamento a Pluralsight è mensile, quindi alla sua scadenza i contenuti non sono più visualizzabili, su Udemy, invece non si paga un abbonamento mensile, si comprano i corsi e una volta acquistati sono sempre a disposizione (quella di Udemy è una formula che preferisco).
  • Una parte del corso molto interessante si trova nella sezione “7 – Packaging and Deployment” che riguarda la possibilità di creare di creare degli eseguibili per varie piattaforme, degli installatori e di aggiungere la funzionalità di autoaggiornamento del programma.
  • La componente Electron e la componente Ionic del programma possono scambiarsi dei messaggi e quindi dei dati. Questa è una cosa molto utile di cui però nel corso non se ne parla. Ho già visto che è possibile farlo ed ho verificato che funziona.
  • Girando per la rete ho avuto l’impressione che non siano ancor molti a utilizzare Electron e Ionic insieme, francamente non capisco perché.

Io, per conto mio e a tempo perso, sto realizzando un progetto demo e opensource, Elionic, per mostrare le potenzialità di queste tecnologie e fare degli esperimenti. Per la verità lo sto un po’ trascurando ma conto di aggiornarlo al più presto.

Nei prossimi giorni dovrò riorganizzare il progetto, aggiornare i moduli alle ultime versioni, configurarlo in modo che si possa generare un installer e autoaggiornare il programma. E poi dovrò aggiungere perlomeno degli esempi di utilizzo dei web services e un esempio di comunicazione interprocesso (IPC).

Fonti e riferimenti:

6 years ago

Leave a Reply

Your email address will not be published. Required fields are marked *