ΕΛ/ΛΑΚ | creativecommons.gr | mycontent.ellak.gr |
freedom

ELECTRON: Δημιουργία cross platform εφαρμογών με JavaScript, HTML, και CSS

Η ιδέα δεν είναι νέα, μα τα υπάρχοντα εργαλεία λογισμικού δίνουν την δυνατότητα για καλύτερη υλοποίηση. Οι προγραμματιστές του Gnome, ήταν από τους πρώτους που τολμήσανε να περάσουνε σε αυτήν την γενιά, χρησιμοποιώντας την Javascript. Αντίθετα δηλαδή απ’ ό,τι ήταν δεδομένο μέχρι τότε, είπαν πως η Javascript θα μπορούσε να χρησιμοποιηθεί και για τα desktop μας, και όχι μόνο για χρήση στο διαδίκτυο.

H Javascript είναι μια γλώσσα σεναρίου (script language) που χρησιμοποιείται για να δημιουργήσουμε διαδραστικές (interactive) ιστοσελίδες. Ο κώδικας JavaScript συνήθως ενσωματώνεται στον ΗTML κώδικα. Η JavaScript JavaScript είναι μια ερμηνευόμενη γλώσσα (interpreted language), δηλαδή τα scripts εκτελούνται χωρίς να έχει προηγηθεί μεταγλώττιση του κώδικα (όπως π.χ. στην Pascal).
Η JavaScript υποστηρίζεται από όλους τους δημοφιλείς browsers. Η JavaScript παρέχει στους σχεδιαστές ιστοσελίδων ένα προγραμματιστικό εργαλείο. Συνήθως, όσοι αναπτύσσουν HTML κώδικα δεν είναι προγραμματιστές, ωστόσο η JavaScript είναι μια scripting γλώσσα με πολύ απλή σύνταξη, άρα εύκολη στην εκμάθηση. Η JavaScript μπορεί να εισάγει δυναμικό περιεχόμενο σε μια HTML σελίδα. Ο JavaScript κώδικας μπορεί να αντιδράσει σε συμβάντα (events), δηλαδή να εκτελεστεί όταν κάτι συμβεί, π.χ. όταν ο χρήστης κάνει κλικ σε ένα πλήκτρο.

electron

Πλέον, η Javascript θεωρείται όλο και περισσότερο ως desktop γλώσσα ανάπτυξης, καθώς μπορεί να χρησιμοποιηθεί από mobile platforms αλλά και για τις τοπικές εφαρμογές web (βλέπε Windows).
Η βασική ιδέα δηλαδή ήταν διάφορες δικτυακές υπηρεσίες να μπορούν να τρέξουν σαν desktop εφαρμογές, έχοντας αφενός όλα τα web χαρακτηριστικά τους και αφετέρου να είναι ελαφριές, απλές και γρήγορες. Έχοντας πλέον αλλάξει τα δεδομένα δραστικά στον χώρο του desktop, το ολιγοπώλιο της Microsoft και Apple, έχει διαρραγεί και το Linux αποτελεί μια αδιαμφισβήτητη οντότητα. Μιλάμε για τους ανθρώπους που τρέχουν Linux τόσο σαν μοναδικό desktop, όσο και dual-boot. Έτσι, η δημιουργία όλων και περισσότερων cross-platform desktop εφαρμογών είναι περισσότερο αναγκαία από ποτέ, όπως φυσικά και οι mobile-apps, με ζητούμενη την μέγιστη συμβατότητα ανάμεσά τους (desktop και mobile apps).

Εδώ λοιπόν, κάνει την εμφάνισή του το λογισμικό Electron που δίνει αυτήν την δυνατότητα ευκολότερα από ποτέ. Πρόκειται δηλαδή για ένα framework για την δημιουργία εγγενών εφαρμογών με τεχνολογίες web όπως JavaScript, HTML και CSS, ενώ φυσικά μπορεί να χρησιμοποιηθεί και για την δημιουργία ενός website.

– Για να το πούμε όσο πιο άπλα γίνεται, ώστε να γίνει κατανοητό και από ανθρώπους που δεν έχουν γνώση από τεχνολογικά και πόσο μάλλον κάτι τέτοιο πιο ειδικευμένο:

Το Electron έχει σαν βάση τον Chromium browser. Το πλαίσιο δηλαδή που χρησιμοποιεί είναι αυτό. Με την παράλληλη ενσωμάτωση του λογισμικού Node.js και την χρήση HTML, CSS και JavaScript γίνεται τόσο εύπλαστο, που επάνω του μπορούν δημιουργηθούν κάθε είδους ετερόκλητες εφαρμογές. Πρόκειται για μια καθαρά Ανοιχτού Κώδικα (Open Source) «πλατφόρμα» συμβατή με Linux, Windows, OSX που επιτρέπει την εύκολη δημιουργία εφαρμογών και για τα τρία αυτά λειτουργικά συστήματα, έχοντας σαν στόχο να είναι ελαφριές χωρίς ισχυρή κατανάλωση πόρων, χωρίς να «γράφουν» πολλά στον δίσκο, να μην υστερούν σε χαρακτηριστικά και να είναι προσιτές σε όλους. Παράλληλα έχουν την δυνατότητα για αυτόματα updates σε νέες εκδόσεις τους, δικά τους μενού μα και ειδοποιήσεις.

Μάλιστα, όσον αφορά την δημιουργία εφαρμογών, διαθέτει ένα πολύ καλό Electron API Demos που καταδεικνύει διαδραστικά τα πιο σημαντικά χαρακτηριστικά του API Electron και χρήσιμες συμβουλές για την οικοδόμηση της εφαρμογής.

electron-growth

Υπάρχουν Electron εφαρμογές;

Υπάρχουν και έχουν αρχίσει να καλύπτουν πάρα πολλούς τομείς, ενώ η δημιουργία εφαρμογών με βάση το Electron έχει μια συνεχώς ανοδική πορεία.
– Για παράδειγμα:

Nylas N1 (GMail-client)
Wmail (Gmail-client)
Atom (Επεξεργαστής κειμένου)
Wordpress (desktop εφαρμογή για την διαχείριση των WP blog)
Min (Browser)
Brave (Browser)
TagSpaces (για συγχρονισμό αρχείων και φακέλων με άλλες συσκευές και υπολογιστές, με την χρήση ετικετών)
Fanbox (εργαλείο παρακολούθησης του Linux συστήματός σας)
Anatine (Twitter client)
Museeks (Music / Audio Player)
WebTorrent Desktop (Streaming, λήψη, δημιουργία και διαμοιρασμός Torrent αρχείων)
Franz (Skype, WhatsApp, Telegram και άλλες εφαρμογές επικοινωνίας σε μια desktop app).

μα και πολλές άλλες που θα τις βρείτε στην σελίδα του: Apps-Electron.

Ωστόσο, θα πρέπει να λάβετε υπόψιν σας και τα εξής:

1. Δεν είναι υποχρεωτικά όλες οι εφαρμογές να είναι διαθέσιμες για όλα τα λειτουργικά συστήματα. Μπορεί να είναι μόνο για ένα ή κάποια εξ’ αυτών (Linux, Windows, OSX).
2. Δεν είναι όλες δωρεάν, μα υπάρχουν και αρκετές εμπορικές.
3. Δεν είναι όλες ανοιχτού κώδικα. Υπάρχουν και closed-source εφαρμογές δημιουργημένες με βάση το Electron (σε αυτήν την σελίδα του στο Github, μπορείτε να τις δείτε και κατηγοριοποιημένες).

Αν ενδιαφερόσαστε να δημιουργήσετε μια Electron-based εφαρμογή, ξεκινήστε από εδώ.

 

Διαβάστε περισσότερα στην ιστοσελίδα του Electron.

Δείτε το κώδικα στο Github.

Πηγή άρθρου: http://osarena.net/

Leave a Comment