Προγραμματισμός

Ταχεία ανάπτυξη διεπαφής χρήστη με Flutter για Windows

Υπάρχουν πολλά να πούμε για εργαλεία που διευκολύνουν τη στόχευση πολλαπλών πλατφορμών από μία βάση κώδικα, μειώνοντας το φορτίο στους προγραμματιστές και αυξάνοντας την εμβέλεια των εφαρμογών σας. Το Xamarin της Microsoft είναι ένα εξαιρετικό παράδειγμα αυτού, επεκτείνοντας το .NET σε iOS και Android. Αλλά τι γίνεται με την άλλη κατεύθυνση, όπου ένα καθιερωμένο εργαλείο ανάπτυξης για κινητά προσθέτει τα Windows ως νέα πλατφόρμα;

Δεν συμβαίνει συχνά, αλλά εκπληκτικά το περιβάλλον ανάπτυξης της Google Flutter για κινητά προσθέτει έναν νέο στόχο κατασκευής στα Windows, παράλληλα με την υπάρχουσα υποστήριξη για Android, iOS, macOS, Linux και τον ιστό. Με τις τελευταίες εκδόσεις ανάπτυξης, μπορείτε πλέον να δημιουργήσετε εφαρμογές Flutter για Win32, χρησιμοποιώντας τα ίδια στοιχεία ελέγχου και σχεδίασης για την παράδοση κώδικα επιτραπέζιου υπολογιστή ταυτόχρονα με τη δημιουργία εφαρμογών για κινητά.

Η στόχευση των Windows έχει νόημα για την Google, καθώς η δημοσίευση στο blog αναφέρει ότι περισσότεροι από τους μισούς προγραμματιστές του Flutter χρησιμοποιούν εργαλεία ανάπτυξης των Windows. Το εργαλείο UI του Flutter είναι εγγενής κωδικός και καθώς λειτουργεί με τυπικές κλήσεις API των Windows, μπορείτε να το χρησιμοποιήσετε με νέο ή υπάρχοντα κώδικα.

Χρησιμοποιώντας το Flutter στα Windows

Το Flutter βασίζεται στην τελευταία έκδοση της γλώσσας Dart της Google. Είναι μια γλώσσα τύπου C με δομή που θυμίζει τόσο το JavaScript όσο και το C #. Εάν έρχεστε σε αυτό από φόντο .NET δεν υπάρχουν πολλά νέα για να μάθετε. οι γλωσσικές δομές θα είναι γνωστές. Ένα χαμηλό εμπόδιο για την είσοδο είναι καλό, καθώς θα πρέπει να είστε έτοιμοι να ξεκινήσετε την κωδικοποίηση πολύ γρήγορα.

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

Σε αντίθεση με τις εκδόσεις Flutter για φορητές συσκευές, η έκδοση για επιτραπέζιους υπολογιστές χρειάζεται το Visual Studio 2019, με τα εργαλεία ανάπτυξης επιτραπέζιου υπολογιστή C ++. Μπορείτε ακόμα να εργαστείτε στον Visual Studio Code εάν έχετε υπάρχουσες εφαρμογές Flutter για κινητές συσκευές που θέλετε να φέρετε στην επιφάνεια εργασίας, αλλά ο επιτραπέζιος Flutter πρέπει να χρησιμοποιήσει τον μεταγλωττιστή Windows C ++ για να δημιουργήσει εφαρμογές Windows με όλες τις απαιτούμενες βιβλιοθήκες υποστήριξης.

Σύνταξη εφαρμογών Flutter στα Windows

Ακόμα κι αν χρειάζεστε τα εργαλεία C ++ του Visual Studio, εξακολουθείτε να επεξεργάζεστε και να δημιουργείτε πολλές από τις εφαρμογές επιτραπέζιου υπολογιστή Flutter στον κώδικα Visual Studio με την προσθήκη Flutter, αλλάζοντας το Visual Studio όταν πρέπει να επεξεργαστείτε το C ++ ή να χρησιμοποιήσετε τα Windows SDK. Η δημιουργία ενός νέου έργου θα δημιουργήσει αυτόματα τα ικριώματα που απαιτούνται για τη δημιουργία μιας εφαρμογής επιτραπέζιου υπολογιστή των Windows παράλληλα με τις προεπιλεγμένες εκδόσεις Android και iOS. Στη συνέχεια, μπορείτε να επεξεργαστείτε τον κωδικό της εφαρμογής σας στο κοινό αρχείο main.dart, το οποίο θα μεταγλωττιστεί στις κατάλληλες εκδόσεις κατά το χρόνο κατασκευής.

Ο κοινός κωδικός Dart παραμένει στο φάκελο lib. Ο φάκελος των Windows είναι όπου γράφετε τον κωδικό σας για συγκεκριμένη πλατφόρμα, διατηρώντας τον ξεχωριστό από τις λειτουργίες μεταξύ πλατφορμών. Αυτή η προσέγγιση σάς επιτρέπει να αξιοποιήσετε τις υπάρχουσες επενδύσεις σας σε κώδικα Windows και API χρησιμοποιώντας τα κανάλια πλατφόρμας Flutter για να παρέχετε διαλειτουργικότητα μεταξύ του κώδικα Windows C ++ και του Flutter's Dart.

Τα εργαλεία Visual Studio Code Flutter και Dart εξακολουθούν να χρειάζονται εγκατάσταση του Android Studio, καθώς χρειάζονται για τη δημιουργία εκδόσεων Android των εφαρμογών σας. Εάν εργάζεστε σε μια εφαρμογή πολλαπλών πλατφορμών, είναι καλύτερο να γράψετε οποιονδήποτε κωδικό Android στο Android Studio, αποθηκεύοντας τον κώδικα Kotlin στο δέντρο κώδικα Android της εφαρμογής Flutter. Η κοινή χρήση δομής κώδικα με αυτόν τον τρόπο έχει νόημα. ενώ έχετε την επιλογή να χρησιμοποιήσετε το Visual Studio Code για να επεξεργαστείτε τον κώδικα Windows C ++, το πλήρες Visual Studio IDE έχει πολλά περισσότερα οικονομικά και καλύτερη υποστήριξη βιβλιοθήκης, καθιστώντας το ένα προτιμώμενο περιβάλλον ανάπτυξης για κώδικα που χρειάζεται να χρησιμοποιεί το Win32 SDK και βιβλιοθήκες.

Χρήση Windows SDK, API και βιβλιοθηκών με το Flutter

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

Εναλλακτικά, μπορείτε να χρησιμοποιήσετε τη Διεπαφή Εξωτερικής Λειτουργίας για να συνδεθείτε απευθείας σε μια εγγενή βιβλιοθήκη και να χρησιμοποιήσετε τις κλήσεις API της. Αυτή η προσέγγιση είναι πιθανό να είναι ο καλύτερος τρόπος για να παραδώσετε τη λειτουργικότητα των Windows σε μια εφαρμογή Flutter, καθώς μπορείτε να συνδέσετε απευθείας με υπάρχοντα ή νέο κώδικα, είτε με στατικούς είτε με δυναμικούς συνδέσμους. Ο εγγενής κώδικας πρέπει να διαθέτει διαθέσιμα σύμβολα C, ώστε ο κωδικός Flutter να μπορεί να συνδεθεί μαζί τους. οποιοσδήποτε κωδικός C ++ θα πρέπει να τους εξαγάγει σε μορφή C μέσω του εξωτερικός επιλογή.

Οι περισσότερες βιβλιοθήκες SDK των Windows έχουν ήδη συνταχθεί, οπότε πρέπει να χρησιμοποιήσετε δυναμική σύνδεση για να τις μεταφέρετε στις εφαρμογές Flutter. Χρησιμοποιήστε το Flutter DynamicLibrary.open λειτουργία για να τα προσθέσετε στην εφαρμογή σας και, στη συνέχεια, να τα αντιμετωπίζετε όπως θα κάνατε με ένα Flutter plug-in. Στην πραγματικότητα, η ομάδα Flutter εργάζεται ήδη σε μια προσθήκη Win32 που θα παρέχει πρόσβαση στα περισσότερα από τα API των Windows, έτοιμα για χρήση στον κώδικά σας.

Ένα εργαλείο για ταχεία, συνεργατική ανάπτυξη διεπαφής χρήστη

Ένα από τα πλεονεκτήματα του εργαλείου ανάπτυξης του Flutter είναι η εναλλακτική επιλογή επαναφόρτωσης. Μπορείτε να εκτελέσετε ένα αντίγραφο του κώδικα σας και να επισυνάψετε σε ένα πρόγραμμα εντοπισμού σφαλμάτων, να αλλάξετε τον κωδικό και να πατήσετε το πλήκτρο επανάληψης φόρτωσης στο τερματικό του Visual Studio Code για να φορτώσετε ξανά την εφαρμογή χωρίς να αλλάξετε την κατάστασή της. Υπάρχει μια επιλογή καυτής επανεκκίνησης εάν προτιμάτε να ξεκινήσετε με μια νέα κατάσταση.

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

Δεν περιορίζεστε ούτε στο Win32, καθώς το κέλυφος UWP Flutter βρίσκεται υπό ανάπτυξη (και έχει ήδη χρησιμοποιηθεί για εφαρμογές καταστήματος). Το αποτέλεσμα είναι ένα ευέλικτο και ισχυρό στρώμα διεπαφής πολλαπλών πλατφορμών που θα λειτουργεί με εγγενή κώδικα σε μια σειρά πλατφορμών, που κλιμακώνεται στις μεγαλύτερες οθόνες υπολογιστών, λειτουργεί τόσο με σύγχρονα όσο και παλαιότερα SDK Windows και θα πρέπει να είναι έτοιμο να συνεργαστεί με το Project Επανένωση καθώς ξεδιπλώνεται.