Menu

Cart
A+ A A-
Ilias Tzanis

Ilias Tzanis

dotcom logo

 Κύπρου 59, Ηγουμενίτσα

Τ.Κ. 46100, Ελλάδα
http://www.dot-com.gr
E-mail: iliastzanis1@gmail.com
Website URL: https://iliastzanis.github.io

Εγκατάσταση Flutter στον υπολογιστή (Windows)

Εισαγωγή

Το Flutter είναι ένα λογισμικό ανοικτού κώδικα που χρησιμοποιείται για τη δημιουργία εφαρμογών υψηλής απόδοσης για κινητά, web και desktop. Βασίζεται στη γλώσσα προγραμματισμού Dart και δημιουργεί πολλά από τα διαθέσιμα γραφικά στοιχεία από τον ίδιο κώδικα, διευκολύνοντας τη δημιουργία εφαρμογών που τρέχουν σε πολλαπλές πλατφόρμες. Παρακάτω θα δούμε βήμα-βήμα τι χρειάζεται για να εγκαταστήσουμε το Flutter στον υπολογιστή μας, καθώς και πως μπορούμε να τρέξουμε μία εφαρμογή που θα δημιουργήσουμε απευθείας στο κινητό μας!

Εγκατάσταση του Flutter SDK:

  • Αρχικά κατεβάζουμε και κάνουμε εγκατάσταση το Git από εδώ.

  • Ύστερα κατεβάζουμε το Flutter SDK.

ΠΡΟΣΟΧΗ!

  • Μόλις κατεβάσουμε το SDK θα δούμε ένα αρχείο μορφής .zip το οποίο πρέπει να το κάνουμε εξαγωγή στον δίσκο που βρίσκονται και τα Windows. Για παράδειγμα: C:\Users\yourName\Documents\Flutter

  • Δεν πρέπει να κάνουμε εξαγωγή το αρχείο σε φάκελο όπως ο Programm Files καθώς χρειάζεται δικαιώματα διαχειριστή.

  • Ο φάκελος που θα το κάνουμε εξαγωγή δεν πρέπει να περιέχει κενά και ειδικούς χαρακτήρες.

Εισαγωγή εντολών Flutter στο Terminal

Για να μπορέσουμε να χρησιμοποιήσουμε τις εντολές Flutter από το τερματικό θα πρέπει να επεξεργαστούμε το path.

  • Στην αναζήτηση των Windows ψάχνουμε env και επιλέγουμε Edit the system environment variables.

  • Από εκεί επιλέγουμε Environment Variables.

  • Στο User variables επιλέγουμε το path και το κάνουμε Edit.

  • Ύστερα επιλέγουμε New και βάζουμε την τοποθεσία που κάναμε εξαγωγή το Flutter SDK πχ: C:\Users\yourName\Documents\Flutter

Εάν δεν υπάρχει to path, το δημιουργούμε επιλέγοντας new και για Variable name βάζουμε path και στο Variable value βάζουμε την τοποθεσία που κάναμε εξαγωγή το Flutter SDK πχ: C:\Users\yourName\Documents\Flutter

  • Για να βεβαιωθούμε ότι το κάναμε σωστα, ανοίγουμε ένα τερματικό οπουδήποτε και εκτελούμε την εντολή flutter doctor θα πρέπει να λάβουμε μία έξοδο της μορφής:

[-] Android toolchain - develop for Android devices

  • Android SDK at D:\Android\sdk

    ✗ Android SDK is missing command line tools; download from https://goo.gl/XxQghQ

  • Try re-installing or updating your Android SDK,

      visit https://docs.flutter.dev/setup/#android-setup for detailed instructions.

Ολά τα errors θα τα διωρθόσουμε σε επόμενα βήματα, σημασία έχει το τερματικό μας να μπορεί να εκτελεί εντολές που ξεκινάνε με τη λέξη flutter.

Εγκατάσταση Android Studio (Απαραίτητο)

  • Κατεβάζουμε το Android Studio.

  • Κάνουμε εγκατάσταση το .exe αρχείο. Αυτό εγκαθιστά τις τελευταίες εκδόσεις των Android SDK, Android SDK Command-line Tools, και Android SDK Build-Tools τα οποία είναι απαραίτητα για να μπορέσουμε να χρησιμοποιήσουμε το Flutter.

  • Μόλις τελειώσει η εγκατάσταση του Android Studio πηγάινουμε στο τερματικό και ξανατρέχουμε την εντολή flutter doctor για να βεβαιωθούμε ότι το Flutter έχει εντοπίσει το Android Studio.

  • Ανοίγουμε το Android Studio και επιλέγουμε τις τρεις κουκίδες (Πάνω δεξιά).

  • Επιλέγουμε SDK Manager και στο tab SDK Platforms επιλέγουμε την τελευταία έκδοση Android (Android 13 Tiramisu) και κάνουμε εγκατάσταση.

  • Αφού ολοκληρωθεί επιλέγουμε το tab SDK Tools και ελέγχουμε εάν είναι εγκατεστημένα τα παρακάτω tools:

    • Android SDK Build Tools

    • Android SDK Command Line Tools (latest)

    • Android Emulator

    • Android SDK Platform Tools

    • Google Usb Driver

    • Intel x86 Emulator Accelerator (Haxm Installer)

Σε περίπτωση που δεν είναι, τα κάνουμε εγκατάσταση.

  1. Στην αρχική σελίδα του Android Studio στο αριστερό tab επιλέγουμε τα plugins, αναζητούμε και κάνουμε εγκατασταση τα παρακάτω:

    • Flutter

    • Dart

Εγκατάσταση Visual Studio Code

Γενικά μπορούμε να χρησιμοποιήσουμε το Android Studio για ανάπτυξη εφαρμογών με Flutter, ωστόσο είναι προτιμότερο το Visual Studio Code καθώς είναι ένας πιο ελαφρύς Editor και μαζί με κάποια Extensions επιταχύνει την ανάπτυξη εφαρμογών.

  • Κατεβάζουμε το Visual Studio Code για Windows.

  • Κάνουμε εγκατάσταση το .exe στον υπολογιστή μας.

  • Επιλέγουμε στο αριστερό tab τα Extensions.

  • Κάνουμε αναζήτηση και εγκατάσταση των extensions: Flutter & Dart

Προαιρετικά μπορούμε να εγκαταστήσουμε και τα παρακάτω ώστε ο editor να γίνει πιο αποδοτικός, εύχρηστος και ευανάγνωστος:

  • Awesome Flutter Snippets

  • Bracket Pair Color DLW

  • Prettier - Code formatter

  • WSL

ΠΡΟΣΟΧΗ!

To Visual Studio Code είναι διαφορετικό από το Visual Studio που αναφέρεται παρακάτω.

Αποδοχή Android Licences

  • Ανοίγουμε τερματικό και πληκτρολογούμε flutter doctor --android-licenses

  • θα εμφανιστούν κάποιες άδειες χρήσης στις οποίες πρέπει να πατήσουμε y ώστε να τις αποδεχτούμε.

  • Στο τερματικό πληκτρολογούμε ξανά flutter doctor και θα πρέπει να μας εμφανιστεί η ακόλουθη έξοδος

    Doctor summary (to see all details, run flutter doctor -v):

[✓] Flutter (Channel stable, 3.7.6, on Microsoft Windows [Version 10.0.22621.1413], locale en-US)

[✓] Windows Version (Installed version of Windows is version 10 or higher)

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.2)

[✓] Chrome - develop for the web

[✗] Visual Studio - develop for Windows

 ✗ Visual Studio not installed; this is necessary for Windows development.

   Download at https://visualstudio.microsoft.com/downloads/.

   Please install the "Desktop development with C++" workload, including all of its default components

[✓] Android Studio (version 2022.1)

[✓] VS Code (version 1.76.2)

[✓] Connected device (3 available)

[✓] HTTP Host Availability

Η παραπάνω έξοδος σημαίνει ότι είμαστε έτοιμοι να ξεκινήσουμε την ανάπτυξη εφαρμογών με την χρήση Flutter.

ΠΡΟΣΟΧΗ!

Στην δική μου εγκατάσταση δεν έχω το Visual Studio το οποίο είναι απαραίτητο μόνο εάν θέλουμε να αναπτύξουμε εφαρμογές για τα Windows. Όπως αναφέρθηκε και παραπάνω είναι διαφορετικό από το Visual Studio Code.

Δημιουργία 1ης εφαρμογής με τη χρήση Flutter

  • Πηγαίνουμε σε έναν φάκελο στο υπολογιστή μας στον οποίο θέλουμε να έχουμε το Flutter Project μας.

  • Ανοίγουμε τερματικό μέσα στον φάκελο με τη χρήση shift + δεξί κλικ -> New Terminal ή New Powershell Window.

  • Πληκτρολογούμε την εντολή flutter create project_name. Το project_name μπορεί να είναι οποιοδήποτε όνομα στα αγγλικά χωρίς κενά και αποφεύγουμε τη χρήση ειδικών χαρακτήρων.

  • Μόλις ολοκληρωθεί η διαδικασία μπορούμε να κλείσουμε το τερματικό και να ανοίξουμε το Visual Studio Code.

  • Επιλέγουμε πάνω αριστερά το File και μετά Open Folder, εναλλακτικά χρησιμοποιούμε από το πληκτρολόγιο: CTRL + K + O.

  • Επιλέγουμε τον φάκελο που δημιουργήσαμε το Flutter Project μας.

  • Μόλις ανοίξει θα δούμε στο αριστερό pannel όλους τους φακέλους που περιέχει το project μας. Ένας από αυτούς τους φακέλους ονομάζεται lib και μέσα σε αυτόν βίσκεται το αρχείο main.dart το οποίο περιέχει τον κώδικα για το app μας.

Τρέξιμο και αποσφαλμάτωση της εφαρμογής στο κινητό μας (Visual Studio Code και μόνο για συσκευές Android)

  • Ενεργοποιούμε από το Developer Options του κινητού μας το Usb Debugging. 

    Σημείωση 1: Ο κάθε κατασκευαστής έχει διαφορετικό τρόπο οπότε πηγαίνουμε στον Browser μας και αναζητούμε: How to enable Developer Options on (κατασκευαστής και μοντέλο της Android συσκευής μας). 
    Σημείωση 2: Σε συσκευές Xiaomi πρέπει εκτός από το Usb Debugging να ενεργοποιήσουμε και δύο ακόμη ρυθμίσεις: Install via Usb και Usb Debugging Security.Περισσότερες πληροφορίες εδώ.

  • Συνδέουμε το κινητό μας στον υπολογιστή και επιλέγουμε Trust this Computer και στο κινητό μας θα υπάρχει η ειδοποίηση πως το Usb Debugging είναι ενεργοποιημένο.

  • Ανοίγουμε το Visual Studio Code και επιλέγουμε το project που δημιουργήσαμε στα προηγούμενα βήματα.

  • Επιλέγουμε το αρχείο main.dart με διπλό κλικ ώστε να το ανοίξει ο editor μας.

  • Κάτω δεξιά στη μπλε γραμμή θα πρέπει να βλέπουμε το μοντέλο του κινητού μας. Σε περίπτωση που βλέπουμε τη λέξη Windows πατάμε και επιλέγουμε τη συσκευή μας.

  • Πάνω δεξιά βρίσκεται η επιλογή να "τρέξουμε" τον κώδικα (Κουμπί Play). Ωστόσο εμείς θέλουμε να κάνουμε τρέξιμο και αποσφαλμάτωση οπότε θα επιλέξουμε το κάτω βελάκι και θα εμφανιστεί η επιλογή Run and Debug (Κουμπί Play μαζί με σκαθαράκι).

Η μπλε γραμμή θα γίνει πορτοκαλί και ανάλογα τη δύναμη του υπολογιστή μας θα γίνει εγκατάσταση της εφαρμογής στο κινητό μας σε περιόδο 3-8 λεπτά.

Μπορούμε πλέον να επεξεργαστούμε τον κώδικα του αρχείου main.dart το οποίο βρίσκεται στον φάκελο lib. Kάνοντας save (CTRL + S) κάθε φορά τις αλλαγές μας μπορούμε να τις βλέπουμε απευθείας στο κινητό μας!

Read more...

IoT (Internet of Things)

Εισαγωγή:

Σήμερα ζούμε στην εποχή των «έξυπνων τεχνολογιών» και μία από αυτές είναι το Διαδίκτυο των πραγμάτων (Internet of Things - IoT), το οποίο αντιπροσωπεύει την «πανταχού παρούσα πληροφορική – ubiquitous computing». Είναι ένας όρος που αναφέρεται στη διασύνδεση καθημερινών αντικειμένων και συσκευών με το διαδίκτυο. Το ΙοΤ επιτρέπει στα αντικείμενα αυτά να στέλνουν και να λαμβάνουν δεδομένα, γεγονός που τους επιτρέπει να ελέγχονται και να παρακολουθούνται εξ αποστάσεως. Το IoT έχει τη δυνατότητα να φέρει επανάσταση στον τρόπο που ζούμε και εργαζόμαστε, από τα έξυπνα σπίτια μέχρι τον βιομηχανικό αυτοματισμό, και αυξάνει ραγδαία τη δημοτικότητά του.

Τι είναι το IoT:

Ο όρος IoT χρησιμοποιήθηκε πρώτη φορά από τον Kevin Ashton το 1999 και αναφέρεται στην ιδέα του να μπορεί μία τεχνολογία να αποκτά και να εφαρμόζει ανεξάρτητα τη γνώση. Το IoT είναι ένα δίκτυο φυσικών συσκευών, οχημάτων, κτιρίων και άλλων αντικειμένων που είναι ενσωματωμένα με ηλεκτρονικά, λογισμικό, αισθητήρες και συνδεσιμότητα, τα οποία τους επιτρέπουν να συλλέγουν και να ανταλλάσσουν δεδομένα. Οι συσκευές μπορεί να είναι οτιδήποτε, από απλούς αισθητήρες έως πολύπλοκες μηχανές, και είναι συνδεδεμένες στο διαδίκτυο, επιτρέποντάς τους να επικοινωνούν μεταξύ τους και με τους ανθρώπους. Οι συσκευές IoT γίνονται όλο και πιο διαδεδομένες στην καθημερινή μας ζωή, από έξυπνες οικιακές συσκευές μέχρι φορητούς ανιχνευτές φυσικής κατάστασης και αυτόνομα αυτοκίνητα. Γενικα μπορούμε να πούμε ότι μία συσκευή με αισθητήρες η οποία έχει τη δυνατότητα να συνδεθεί στο διαδίκτυο ανήκει στο IoT.

Πώς λειτουργεί το IoT:

Οι συσκευές IoT είναι εξοπλισμένες με αισθητήρες που ανιχνεύουν και συλλέγουν δεδομένα για το περιβάλλον τους. Τα δεδομένα αυτά μεταδίδονται στη συνέχεια μέσω του διαδικτύου σε άλλες συσκευές, όπου μπορούν να υποβληθούν σε επεξεργασία και ανάλυση. Οι συσκευές μπορούν να προγραμματιστούν ώστε να ανταποκρίνονται σε συγκεκριμένες συνθήκες ή εναύσματα, όπως το να ανάβουν τα φώτα όταν κάποιος μπαίνει σε ένα δωμάτιο ή να ρυθμίζουν τη θερμοκρασία όταν το δωμάτιο γίνεται πολύ ζεστό ή κρύο.

Οι συσκευές IoT επικοινωνούν χρησιμοποιώντας μια σειρά ασύρματων τεχνολογιών, όπως Bluetooth, Wi-Fi και δίκτυα κινητής τηλεφωνίας. Αυτό τους επιτρέπει να συνδέονται στο διαδίκτυο και να επικοινωνούν με άλλες συσκευές, ανεξάρτητα από την τοποθεσία τους.

Εφαρμογές του IoT:

Οι εφαρμογές IoT αυξάνονται καθώς ολοένα και περισσότερες συσκευές συνδέονται στο διαδίκτυο. Σχεδόν όλες οι εφαρμογές που βλέπουμε στις μέρες μας χρησιμοποιούν έξυπνες συσκευές. Αυτές οι συσκευές μοιράζονται χρήσιμες πληροφορίες, δεδομένα και μπορούν να επικοινωνούν μεταξύ τους, βελτιώνοντας τη ποιότητα της ζωής μας. Οι εφαρμογές IoT ταξινομούνται σε διάφορους τομείς όπως: 

Έξυπνο σπίτι:

Το IoT μπορεί να φανεί χρήσιμο για ένα σπίτι αφού με τη βοήθεια του μπορούμε να ελέγξουμε συσκευές που υπάρχουν σε αυτό από απόσταση. Η παρακολούθηση του ρεύματος και του νερού είναι κάποια από τα πολλά παραδείγματα που μπορούμε να παραθέσουμε καθώς με τη χρήση του IoT επιτυγχάνεται μείωση στους λογαριασμούς αλλά και εξοικονόμηση ενέργειας και νερού.

Έξυπνη μετακίνηση:

Η μετακίνηση παίζει πολύ σημαντικό ρόλο σε μία πόλη. Τα προβλήματα μετακινήσεων πρέπει να αντιμετωπίζονται αλλά και να διαχειρίζονται σωστά. Χρησιμοποιώντας IoT συσκευές μπορούμε να βελτιώσουμε την κατάσταση των μετακινήσεων με βάση τα δεδομένα που λαμβάνουμε από αυτές. 

Έξυπνο περιβάλλον:

Κάποιες IoT τεχνολογίες μπορούν να βοηθήσουν στην πρόγνωση του καιρού και των ανεπιθύμητων φυσικών καταστροφών. Αυτό βοηθά στην έγκαιρη εκκένωση των ανθρώπων από περιοχές που πιθανόν θα πληγούν. 

Έξυπνη υγεία:

Στον τομέα της υγείας οι IoT συσκευές θα μπορούν να φανούν πολύ χρήσιμες. Για παράδειγμα εξοπλίζοντας ένα νοσοκομείο με τέτοιες συσκευές θα μπορούμε να βοηθήσουμε τους γιατρούς να παρακολουθούν την υγεία των ασθενών τους από απόσταση χωρίς να χρειάζεται να πηγαίνουν στον καθένα ξεχωριστά. 

Κοινωνικές εφαρμογές:

Οι συσκευές IoT συνδέονται με άλλες συσκευές και αντικείμενα μέσω του διαδικτύου. Παρέχουν διάφορες λειτουργίες οι οποίες προάγουν τις προσωπικές ανάγκες και την κοινωνική αλληλεπίδραση. Οι συσκευές αυτές βοηθούν στη συλλογή πληροφοριών σχετικά με την τοποθεσία ενός χρήστη και την παρακολούθηση των δραστηριοτήτων του.

 

Χαρακτηριστικά IoT:

Όπως όλες οι τεχνολογίες, έτσι και το ΙοΤ αποτελείται από κάποια θεμελιώδη χαρακτηριστικά τα οποία είναι:

Δικτύωση (Networking):

Το ζήτημα της δικτύωσης είναι μεγάλης σημασίας καθώς περιλαμβάνει μερικούς από τους πιο σημαντικούς παράγοντες οι οποίοι χρησιμοποιούνται στη διαχείριση των δικτύων. 

Δρομολόγηση (Routing):

Με τον όρο δρομολόγηση εννοούμε την εύρεση και επιλογή της καλύτερης διαδρομής μεταξύ μιας πηγής και του προορισμού, ώστε να ολοκληρωθεί η διαδικασία επικοινωνίας με επιτυχία. 

Ετερογένεια (Heterogeneity):

Το IoT είναι ετερογενές επειδή περιέχει πληθώρα διαφορετικών συσκευών. Αυτές μπορούν να αλληλεπιδράσουν μεταξύ τους καθώς ο κύριος στόχος του IoT είναι η δημιουργία κοινού τρόπου επικοινωνίας. 

Διαλειτουργικότητα (Interoperability):

Η έννοια της διαλειτουργικότητας μπορεί να οριστεί ως η ικανότητα δημιουργίας συστημάτων ή συσκευών που μπορούν να συνεργάζονται μεταξύ τους με αποτελεσματικό τρόπο.

Ποιότητα υπηρεσίας (Quality of Service):

Ιδανικά θα λέγαμε πως η ποιότητα υπηρεσίας ορίζεται από τον χρόνο που απαιτεί η παράδοση ενός μηνύματος από τον αποστολέα και από τον παραλήπτη. Εάν αυτός ο χρόνος είναι μικρότερος ή ίσος από την προκαθορισμένη απαίτηση χρόνου τότε επιτυγχάνεται η ποιότητα υπηρεσίας.

Επεκτασιμότητα (Scalability):

Η επεκτασιμότητα είναι μία από τις πιο σημαντικές προκλήσεις ενός IoT συστήματος. Είναι η ικανότητα που έχει ένα σύστημα ή δίκτυο να χειρίζεται την αυξανόμενη κλίμακα οποιουδήποτε περιβάλλοντος χωρίς να επηρεάζεται η απόδοσή του.

Εικονική παρουσίαση (Virtualization):

Είναι η ικανότητα κοινής χρήσης πόρων μεταξύ πολλαπλών λειτουργικών συστημάτων. Η τεχνολογία αυτή επιτρέπει σε πολλά λειτουργικά συστήματα, εφαρμογές και υπηρεσίες να εκτελούνται στον ίδιο διακομιστή(server).

Μεγάλα Δεδομένα (Big Data):

Ως μεγάλα δεδομένα εννοούμε τα δομημένα και μη δομημένα δεδομένα τα οποία είναι δύσκολο να αντιμετωπιστούν με τη χρήση μίας βάσης δεδομένων ή με τεχνικές λογισμικού.

Υπολογιστικό Νέφος (Cloud Computing):

Το υπολογιστικό νέφος και το IoT αντιπροσωπεύουν το πεδίο «πανταχού παρόν υπολογιστές (ubiquitous computing)» αφού και τα δύο χρησιμοποιούν την έννοια της κατανεμημένης πληροφορικής. Με το υπολογιστικό νέφος έχουμε πρόσβαση σε έναν μεγάλο αριθμό υπολογιστικών πόρων και υποστηρίζει μεγάλο αριθμό χρηστών με αποκεντρωμένο τρόπο.

Κατανάλωση ενέργειας (Power Consumption):

Η κατανάλωση ενέργειας είναι ένα κρίσιμο πεδίο των ασύρματων δικτύων. Συνήθως η απόδοση της λειτουργίας των αισθητήρων εξαρτάται από την διάρκεια ζωής της μπαταρίας. 

Ασφάλεια και προστασία ιδιωτικότητας (Security and Privacy):

Η ασφάλεια και προστασία ιδιωτικότητας στοχεύει στην προστασία του συστήματος ή των συσκευών από απειλές. Αυτού του είδους απειλές μπορεί να είναι εξωτερικές, όπως μια επίθεση στο σύστημα από εισβολείς ή εσωτερικές απειλές, που σημαίνει κατάχρηση του συστήματος ή των πληροφοριών.

Οι παραπάνω τομείς αποτελούν κάποια από τα πολλά παραδείγματα εφαρμογής IoT συσκευών στην καθημερινότητα των ανθρώπων.

 

Συμπέρασμα:

Το ΙοΤ είναι μια μετασχηματιστική τεχνολογία που έχει τη δυνατότητα να φέρει επανάσταση στον τρόπο που ζούμε και εργαζόμαστε. Από τα έξυπνα σπίτια έως τον βιομηχανικό αυτοματισμό, το IoT έχει ένα ευρύ φάσμα εφαρμογών που μπορούν να βελτιώσουν την αποδοτικότητα, την παραγωγικότητα και την ποιότητα ζωής. Ωστόσο, υπάρχουν επίσης προκλήσεις που πρέπει να αντιμετωπιστούν, όπως η ασφάλεια, η διαλειτουργικότητα, η επεκτασιμότητα και η προστασία της ιδιωτικής ζωής. Καθώς το IoT συνεχίζει να εξελίσσεται, είναι σημαντικό να αναπτυχθούν λύσεις που να αντιμετωπίζουν αυτές τις προκλήσεις, ώστε να διασφαλιστεί ότι η τεχνολογία είναι ασφαλής, αξιόπιστη και προσβάσιμη σε όλους.

Read more...
Subscribe to this RSS feed

Log In or Register