Εξέλιξη Κομματιού
Εισαγωγή
Εβδομάδα 1: Επισκόπηση του Mobile Development
- Κινητό Οικοσύστημα και Πλατφόρμες
- Επισκόπηση λειτουργικών συστημάτων για κινητά (iOS και Android)
- Βασικές διαφορές μεταξύ iOS, Android και ανάπτυξης πολλαπλών πλατφορμών
- Δημοφιλή καταστήματα εφαρμογών (Apple App Store, Google Play Store)
- Εισαγωγή στην ανάπτυξη εγγενών, υβριδικών και πολλαπλών πλατφορμών
- Native vs Hybrid vs Cross-Platform
- Πλεονεκτήματα και προκλήσεις κάθε μεθόδου ανάπτυξης
- Επισκόπηση των Swift (για iOS), Kotlin (για Android) και React Εγγενείς (για πλατφόρμες)
- Πώς ο κώδικας μεταφράζεται σε πλατφόρμες για κινητές συσκευές (JavaΣενάριο σε εγγενή κώδικα σε React Εγγενές)
- Programming Βασικές αρχές
- Εισαγωγή στις έννοιες προγραμματισμού (μεταβλητές, τύποι δεδομένων, συναρτήσεις, ροή ελέγχου)
- Σύγκριση Swift, Kotlin και JavaΣύνταξη σεναρίου
- Γράφοντας απλά προγράμματα χρησιμοποιώντας Swift, Kotlin και JavaScript
- Δημιουργία Περιβάλλοντος Ανάπτυξης
- Εγκατάσταση του Xcode και του Android Studio
- Ρύθμιση React Native CLI and Expo
- Εκτέλεση βασικών εφαρμογών "Hello World" σε προσομοιωτές και εξομοιωτές
Εβδομάδα 2: Εισαγωγή στο Swift, Kotlin και JavaΣενάριο
- Swift Programming για iOS
- Μεταβλητές, σταθερές και τύποι δεδομένων στο Swift
- Δηλώσεις ροής ελέγχου (
if,switch, loops) - Λειτουργίες και παράμετροι στο Swift
- Εισαγωγή στη διεπαφή του Xcode και στις Swift Παιδικές χαρές
- Kotlin Programming για Android
- Μεταβλητές, τύποι δεδομένων και συναρτήσεις στο Kotlin
- Κατανόηση της μηδενικής ασφάλειας του Kotlin
- Έλεγχος δομών ροής και βρόχου
- Εισαγωγή στη διεπαφή Android Studio και Kotlin Playground
- JavaΣενάριο για React Native
- Μεταβλητές, σταθερές και ροή ελέγχου στο JavaScript
- Χαρακτηριστικά ES6: λειτουργίες βέλους, κυριολεξία προτύπων και καταστροφή
- Σύνταξη και εκτέλεση βασικών προγραμμάτων Javaσεναρίου σε React Native χρησιμοποιώντας το Expo
Εβδομάδα 3: iOS Σχεδιασμός διεπαφής χρήστη
- UI Elements σε iOS
- Εισαγωγή στο UIKit και στο SwiftUI
- Προσθήκη και προσαρμογή στοιχείων διεπαφής χρήστη όπως κουμπιά, ετικέτες και πεδία κειμένου
- Χρήση του Interface Builder για τη σχεδίαση διεπαφής χρήστη
- Εργασία με Storyboards και σχεδιασμός διεπαφής χρήστη με πολλές οθόνες
- Αυτόματη διάταξη και περιορισμοί
- Κατανόηση του συστήματος Auto Layout
- Χρήση περιορισμών για διατάξεις απόκρισης σε διαφορετικά μεγέθη οθόνης
- Δημιουργία προβολών στοίβας και δυναμική προσαρμογή στοιχείων διεπαφής χρήστη
- SwiftΒασικά στοιχεία διεπαφής χρήστη
- Εισαγωγή στη δηλωτική σχεδίαση διεπαφής χρήστη στο SwiftUI
- Δημιουργία απλών στοιχείων διεπαφής χρήστη χρησιμοποιώντας το SwiftUI
Εβδομάδα 4: Android Σχεδιασμός διεπαφής χρήστη
- XML Διατάξεις σε Android
- Εισαγωγή στη σχεδίαση διάταξης βάσει XML
- Εργασία με κοινές διατάξεις: LinearLayout, RelativeLayout, ConstraintLayout
- Προσθήκη και προσαρμογή στοιχείων διεπαφής χρήστη: κουμπιά, προβολές κειμένου, προβολές εικόνας
- Χρήση ConstraintLayout για αποκριτικές και δυναμικές διατάξεις
- Σχεδιασμός Υλικού
- Ενσωμάτωση αρχών σχεδιασμού υλικού (χρώματα, εικονίδια, τυπογραφία)
- Χρήση στοιχείων υλικού (κουμπιά, κινούμενα κουμπιά ενεργειών, κάρτες)
- Εφαρμογή θεμάτων και στυλ για Android εφαρμογές
Εβδομάδα 5: React Σχεδίαση εγγενούς διεπαφής χρήστη
- React Εγγενής διάταξη Flexbox
- Κατανόηση του Flexbox για αποκριτικό σχεδιασμό διάταξης
- Δημιουργία διατάξεων που βασίζονται σε στήλες και σειρές
- Σχεδιασμός στοιχείων διεπαφής χρήστη με ιδιότητες Flexbox (justifyContent, alignItems, κ.λπ.)
- React Εγγενή στοιχεία
- Εργασία με βασικά στοιχεία όπως
Text,View,TextInputκαιButton - Δημιουργία διαδραστικών στοιχείων διεπαφής χρήστη, όπως φόρμες και κουμπιά
- Χρήση του στοιχείου
ScrollViewγια δυναμικό περιεχόμενο
- Εργασία με βασικά στοιχεία όπως
Εβδομάδα 6: Χειρισμός δεδομένων σε iOS και Android
- iOS Χειρισμός δεδομένων
- Χρήση UserDefaults για απλή διατήρηση δεδομένων
- Εισαγωγή στα βασικά δεδομένα για τοπική αποθήκευση σύνθετων δεδομένων
- Ανάκτηση δεδομένων από API με χρήση URLSession
- Ανάλυση δεδομένων JSON και εμφάνισή τους στη διεπαφή χρήστη
- Android Χειρισμός δεδομένων
- Χρήση του SharedPreferences για την αποθήκευση μικρών ποσοτήτων δεδομένων
- Εισαγωγή στη βιβλιοθήκη SQLite και Room Persistence για τη διαχείριση βάσεων δεδομένων
- Ανάκτηση δεδομένων από API χρησιμοποιώντας το Retrofit
- Ανάλυση JSON και χειρισμός αποκρίσεων API
Εβδομάδα 7: React Native State Management και API
- State and Props στο React Native
- Διαχείριση ροής δεδομένων εντός React εγγενών στοιχείων
- Χρήση του γάντζου
useStateγια τη διαχείριση της κατάστασης τοπικού στοιχείου - Διαβίβαση δεδομένων μεταξύ γονικών και θυγατρικών στοιχείων μέσω υποστηριγμάτων
- Ανάκτηση δεδομένων σε React Εγγενής
- Χρήση του Fetch API και του Axios για την υποβολή αιτημάτων HTTP
- Εμφάνιση δεδομένων που έχουν ληφθεί σε λίστες (χρησιμοποιώντας
FlatList,SectionList) - Διατήρηση δεδομένων τοπικά με χρήση AsyncStorage στο React Native
Εβδομάδα 8: Πλοήγηση σε iOS και Android
- iOS Πλοήγηση
- Εισαγωγή στους ελεγκτές πλοήγησης και διαχείριση πολλαπλών οθονών
- Χρήση segues για μετάβαση μεταξύ ελεγκτών προβολής
- Διαβίβαση δεδομένων μεταξύ ελεγκτών προβολής
- Εφαρμογή TabBar και NavigationBar για δομημένη πλοήγηση
- Android Πλοήγηση
- Εργασία με Activities και Intents για εφαρμογές με πολλές οθόνες
- Διαβίβαση δεδομένων μεταξύ Activities χρησιμοποιώντας Πακέτα
- Δημιουργία συρταριού πλοήγησης και BottomNavigationView
- Εφαρμογή τμημάτων για ευέλικτη πλοήγηση διεπαφής χρήστη
Εβδομάδα 9: Πλοήγηση σε React Εγγενής
- React Βασικά στοιχεία πλοήγησης
- Εγκατάσταση και ρύθμιση React Πλοήγηση
- Χρήση Stack Navigator για μεταβάσεις οθόνης
- Εφαρμογή Tab Navigator και Drawer Navigator για σύνθετη πλοήγηση
- Διαβίβαση παραμέτρων μεταξύ οθονών και διαχείριση κατάστασης πλοήγησης
Εβδομάδα 10: Προηγμένες λειτουργίες
- iOS Προηγμένες δυνατότητες:
- Βασική τοποθεσία και χάρτες
- Accessαναγνώριση τοποθεσίας συσκευής με Core Location
- Εμφάνιση χαρτών χρησιμοποιώντας το MapKit
- Χειρισμός γεωγραφικής θέσης και εντοπισμού τοποθεσίας χρήστη
- Κάμερα και πολυμέσα
- Accessη κάμερα της συσκευής και η βιβλιοθήκη φωτογραφιών
- Λήψη και εμφάνιση εικόνων με το UIImagePickerController
- Αποθήκευση και ανάκτηση αρχείων πολυμέσων
- Βασική τοποθεσία και χάρτες
- Android Προηγμένες δυνατότητες
- Τοποθεσία και χάρτες
- Χρήση του Google Maps API για εμφάνιση χαρτών και τοποθεσίας χρήστη
- Access λήψη δεδομένων GPS και χειρισμός γεωγραφικής θέσης
- Κάμερα και πολυμέσα
- Χρήση CameraX για λήψη φωτογραφιών και χειρισμό αδειών κάμερας
- Εμφάνιση εικόνων και χειρισμός αποθήκευσης πολυμέσων
- Τοποθεσία και χάρτες
- React Εγγενείς προηγμένες λειτουργίες
- React Εγγενείς χάρτες
- Ενσωμάτωση χαρτών με χρήση
react-native-maps - Χειρισμός υπηρεσιών βάσει τοποθεσίας (γεωγραφικός εντοπισμός, χαρτογράφηση διαδρομής)
- Ενσωμάτωση χαρτών με χρήση
- Πρόσβαση κάμερας και πολυμέσων
- Χρήση της βιβλιοθήκης Native Camera React για τη λήψη φωτογραφιών
- Accessαποθήκευση πολυμέσων συσκευής και χειρισμός αρχείων
- React Εγγενείς χάρτες
Εβδομάδα 11: Εντοπισμός σφαλμάτων και δοκιμή
- iOS Εντοπισμός σφαλμάτων και δοκιμή
- Χρήση του προγράμματος εντοπισμού σφαλμάτων Xcode
- Ορισμός σημείων διακοπής και επιθεώρηση μεταβλητών στο Xcode
- Χρήση της κονσόλας για εντοπισμό σφαλμάτων σε πραγματικό χρόνο
- Συνήθη προβλήματα εντοπισμού σφαλμάτων και τρόπος επίλυσής τους
- Δοκιμή μονάδας σε iOS
- Σύνταξη και εκτέλεση δοκιμών μονάδας χρησιμοποιώντας το πλαίσιο XCTest
- Χλευασμό αντικειμένων και δοκιμή στοιχείων διεπαφής χρήστη
- Χρήση του προγράμματος εντοπισμού σφαλμάτων Xcode
- Android Εντοπισμός σφαλμάτων και δοκιμή
- Χρήση του Logcat στο Android Studio
- Καταγραφή και ανάλυση σφαλμάτων χρησιμοποιώντας το Logcat
- Εντοπισμός σφαλμάτων Android εφαρμογών με σημεία διακοπής
- Δοκιμή μονάδας σε Android
- Γράψιμο δοκιμών μονάδας χρησιμοποιώντας το JUnit
- Δοκιμή Android στοιχείων διεπαφής χρήστη με Espresso
- Χρήση του Logcat στο Android Studio
- React Εγγενής εντοπισμός σφαλμάτων και δοκιμή
- React Εγγενή εργαλεία εντοπισμού σφαλμάτων
- Χρήση του Chrome DevTools και του React Native Debugger για εντοπισμό σφαλμάτων σε πραγματικό χρόνο
- Αρχεία καταγραφής κονσόλας και επιθεώρηση αιτημάτων δικτύου
- Δοκιμή μονάδας σε React Native
- Δοκιμές γραφής μονάδων με χρήση Jest και Enzyme
- Δοκιμές React Εγγενή εξαρτήματα και διαχείριση περιπτώσεων δοκιμών
- React Εγγενή εργαλεία εντοπισμού σφαλμάτων
Εβδομάδα 12: Ανάπτυξη εφαρμογών και Capstone Project
- Ανάπτυξη και Διανομή
- iOS Υποβολή App Store
- Προετοιμασία της εφαρμογής σας για διανομή (εικονίδια, πιστοποιητικά, προφίλ παροχής)
- Χρησιμοποιώντας το App Store Connect για να υποβάλετε την εφαρμογή για έλεγχο
- Χρήση του TestFlight για δοκιμές beta
- Android Υποβολή Play Store
- Προετοιμασία APK και υπογραφή της εφαρμογής για διανομή
- Χρήση του Google Play Console για υποβολή και παρακολούθηση εφαρμογών
- Κατανόηση των πολιτικών και των οδηγιών του Play Store
- iOS Υποβολή App Store
- Ανάπτυξη Έργου Capstone
- Τελική ανάπτυξη έργου
- Δημιουργία μιας πλήρως λειτουργικής εφαρμογής της επιλογής σας
- Ενσωματώνει προηγμένες λειτουργίες όπως κλήσεις API, πλοήγηση, πολυμέσα και τοποθεσία
- Παρουσίαση και επίδειξη της τελικής εφαρμογής σε συνομηλίκους και εκπαιδευτές
- Τελική ανάπτυξη έργου
Περίληψη και Επόμενα Βήματα
Απαιτήσεις
- Βασική κατανόηση των εννοιών προγραμματισμού
- Βασικές γνώσεις JavaScript
Ακροατήριο
- Προγραμματιστές κινητών τηλεφώνων
- Προγραμματιστές
Σχόλια (5)
Πολύ χρήσιμες πρόσθετες πληροφορίες
Grzegorz - Comp S.A.
Κομμάτι - BLoC Pattern
Μηχανική Μετάφραση
Ο Εντουάρδος είναι ένας υπέροχος διευθυντής συναντήσεων
Zibusiso Ncube - Agricatural Research Council
Κομμάτι - Ionic 4 and Angular for Developers
Μηχανική Μετάφραση
Ίσως περισσότερα άσκημα θα ήταν καλύτερα για το μάθημα, αλλά ο χρόνος ήταν πολύ λίγος.
Gianpiero Arico' - Urmet Spa
Κομμάτι - Embedded Linux Systems Architecture
Μηχανική Μετάφραση
Η γνώση του Miguel στο θέμα ήταν εκτετάμενη. Έκανε την κατάρτιση διαφανή και το ρυθμό ισορροπημένο, προσθέτοντας σε κάθε τμήμα νέους χαρακτηρισμούς όπως χρειάζονταν. Κάλυψε πάντα ό,τι ζητήθηκε και απάντησε σε κάθε ερώτημα με τέλειο τρόπο. Ήταν μια πολύ χαραδευτική εμπειρία.
Paul Coaton - SEMPCheck Services
Κομμάτι - Flutter Development Bootcamp with Dart
Μηχανική Μετάφραση
Ο εκπαιδευτής ήταν ζηλωτικός, χρηστός και αγαπούσε το θέμα.
Isaac Murphy - Royal New Zealand Airforce
Κομμάτι - Build Native iOS and Android Apps with Flutter
Μηχανική Μετάφραση