Εξέλιξη Κομματιού
Εισαγωγή
Εβδομάδα 1: Προηγμένες Swift, Kotlin και Java Έννοιες σεναρίου
- Swift (iOS)
- Προηγμένες λειτουργίες: Κλείσιμο, καταγραφή τιμών, λειτουργίες υψηλότερης τάξης
- Προγραμματισμός προσανατολισμένος στο πρωτόκολλο και γενικά
- Διαχείριση μνήμης με ARC (Automatic Reference Counting)
- Kotlin (Android)
- Λειτουργίες επέκτασης και Kotlin Τυπική βιβλιοθήκη
- Κορουτίνες για ασύγχρονο προγραμματισμό
- Σφραγισμένες κλάσεις, αριθμοί και προηγμένος χειρισμός σφαλμάτων
- JavaΣενάριο (React Εγγενές)
- Προηγμένα χαρακτηριστικά ES6+: Καταστροφή, ασυγχρονισμός/αναμονή, υποσχέσεις
- Έννοιες λειτουργικού προγραμματισμού σε JavaScript
- Εργασία με βιβλιοθήκες τρίτων στο React Native
Εβδομάδα 2: Αρχιτεκτονική εφαρμογών για κινητά και Design Patterns
- MVVM (Model-View-ViewModel) για iOS και Android
- Κατανόηση της αρχιτεκτονικής MVVM για iOS (Swift) και Android (Kotlin)
- Εφαρμογή ViewModels και παρατήρηση δεδομένων με LiveData (Android) και Combine (iOS)
- Reactενεργός προγραμματισμός με RxSwift και RxKotlin
- Αρχιτεκτονική βάσει στοιχείων στο React Native
- Κατανόηση του κύκλου ζωής των εξαρτημάτων και των γάντζων
- Βέλτιστες πρακτικές για τη διαχείριση της κατάστασης και των στηρίξεων σε κλίμακα
- Χρησιμοποιώντας το React Context API για παγκόσμια διαχείριση κατάστασης
Εβδομάδα 3: Προχωρημένες Networking Έννοιες
- Networking σε iOS (Swift)
- Εργασία με το URLSession για προσαρμοσμένα αιτήματα δικτύου
- Προηγμένες κλήσεις REST API και διαχείριση σφαλμάτων
- Εργασία με κωδικοποίηση και ανάλυση JSON
- Βέλτιστες πρακτικές για ασφαλή επικοινωνία API (καρφίτσωμα SSL, OAuth)
- Networking σε Android (Kotlin)
- Εξοπλισμός για πραγματοποίηση κλήσεων API και χειρισμό απαντήσεων
- Προηγμένοι μηχανισμοί διαχείρισης σφαλμάτων API και επανάληψης
- Χρήση Gson ή Moshi για ανάλυση JSON
- Ασφαλής επικοινωνία χρησιμοποιώντας έλεγχο ταυτότητας HTTPS και OAuth
Εβδομάδα 4: Networking σε React Εγγενής
- Ενσωμάτωση API με το Axios και το Fetch
- Προηγμένη ενσωμάτωση API με το Axios και το Fetch
- Σφάλμα χειρισμού στρατηγικών και επαναλήψεων σε αιτήματα δικτύου
- Εργασία με έλεγχο ταυτότητας (JWT, OAuth)
- WebSockets και σε πραγματικό χρόνο Communication
- Εισαγωγή στα WebSockets στο React Native
- Δημιουργία δυνατοτήτων συνομιλίας ή ειδοποιήσεων σε πραγματικό χρόνο με συνδέσεις WebSocket
- Διαχείριση μόνιμων συνδέσεων και ενημερώσεων δεδομένων
Εβδομάδα 5: Προηγμένες τεχνικές επιμονής δεδομένων
- Βασικά δεδομένα και SQLite (iOS)
- Προηγμένες σχέσεις βασικών δεδομένων, ανάκτηση και ερωτήματα
- Χρήση του SQLite απευθείας για iOS εφαρμογές και διαχείριση συνδέσεων βάσης δεδομένων
- Αποτελεσματικός χειρισμός και βελτιστοποίηση δεδομένων
- Room Persistence και SQLite (Android)
- Προηγμένες σχέσεις βάσης δεδομένων δωματίου και ερωτήματα
- Διαχείριση μεγάλων συνόλων δεδομένων και βελτιστοποίηση της απόδοσης της βάσης δεδομένων
- Χρήση του ProGuard για την εξασφάλιση δομών βάσης δεδομένων
- Firebase για το Cloud Storage (iOS και Android)
- Ενσωμάτωση με το Firebase για διαχείριση βάσεων δεδομένων σε πραγματικό χρόνο
- Βέλτιστες πρακτικές συγχρονισμού τοπικών δεδομένων και δεδομένων cloud
Εβδομάδα 6: Προηγμένη κατάσταση Management σε React Εγγενής
- Redux για το κράτος Management
- Προηγμένες Redux έννοιες: Middlewares, Thunks και Sagas
- Βελτιστοποίηση Redux για απόδοση και επεκτασιμότητα
- Ανάκρουση για κατάσταση Management
- Εισαγωγή στην ανάκρουση: Μια πιο ευέλικτη εναλλακτική λύση στο Redux
- Χειρισμός μεγάλης κλίμακας διαχείρισης κατάστασης μεταξύ των στοιχείων
- Αποτελεσματικές ενημερώσεις κατάστασης και διαχείριση ατομικής κατάστασης
Εβδομάδα 7: Προχωρημένες Animation σε iOS και Android
- iOS (Swift)
- Πυρήνας Animation: Κίνηση προβολών, επιπέδων και μεταβάσεων
- UIKit Dynamics: Δημιουργία κινούμενων εικόνων με βάση τη φυσική
- Προσαρμοσμένες μεταβάσεις και κινούμενα σχέδια μεταξύ ελεγκτών προβολής
- Android (Kotlin)
- MotionLayout για δημιουργία πολύπλοκων κινούμενων εικόνων
- TransitionManager και κοινές μεταβάσεις στοιχείων
- Κινούμενα σχέδια ιδιοτήτων για κλιμάκωση προβολής, περιστροφή και αλλαγές άλφα
Εβδομάδα 8: Animations και UI/UX στο React Native
- React Native Animations
- Χρησιμοποιώντας το Animated API και το Reanimated για πολύπλοκα κινούμενα σχέδια
- Εφαρμογή χειρονομιών και αλληλεπιδράσεων με χρήση React Native Gesture Handler
- Βέλτιστες πρακτικές για κινούμενα σχέδια στο React Native
- Δημιουργία προσαρμοσμένων στοιχείων διεπαφής χρήστη
- Δημιουργία επαναχρησιμοποιήσιμων και προσαρμόσιμων εξαρτημάτων στο React Native
- Υλοποίηση αποκριτικών σχεδίων με ερωτήματα πολυμέσων και flexbox
Εβδομάδα 9: Ενσωμάτωση εγγενών λειτουργικών μονάδων και λειτουργιών συσκευής
- Access Λειτουργίες εγγενούς συσκευής
- Προηγμένη χρήση της κάμερας, της γεωγραφικής θέσης, του Bluetooth και των αισθητήρων
- Δημιουργία εγγενών λειτουργικών μονάδων στα Swift και Kotlin για React Εγγενή ενοποίηση
- Ενσωμάτωση του ARKit για επαυξημένη πραγματικότητα στο iOS
- Ενσωμάτωση CameraX και ARCore για επαυξημένη πραγματικότητα στο Android
- React Native Bridge και Native Modules
- Δημιουργία προσαρμοσμένων εγγενών λειτουργικών μονάδων για ενσωμάτωση με λειτουργικότητα συγκεκριμένης πλατφόρμας
- Δημιουργία Java και Swift γεφυρών για React εγγενείς εφαρμογές
- Βέλτιστες πρακτικές για τη διαχείριση εγγενούς κώδικα σε περιβάλλον πολλαπλών πλατφορμών
Εβδομάδα 10: Δοκιμή και εντοπισμός σφαλμάτων προηγμένων εφαρμογών
- Δοκιμή στο iOS (Swift)
- Γράψιμο δοκιμών μονάδας με δοκιμές XCTest και UI για iOS
- Χρήση οργάνων Xcode για δημιουργία προφίλ απόδοσης και διαρροές μνήμης
- Συνεχής ενοποίηση και δοκιμή ροών εργασιών με το Jenkins και το CircleCI
- Δοκιμή στο Android (Kotlin)
- Προηγμένες δοκιμές JUnit και Espresso για Android εφαρμογές
- Δημιουργία προφίλ απόδοσης και εντοπισμός σημείων συμφόρησης χρησιμοποιώντας το Android Profiler
- Χρήση του Firebase Test Lab για αυτοματοποιημένες δοκιμές σε πολλαπλές συσκευές
- React Εγγενής δοκιμή
- Δοκιμή μονάδας με Jest και δοκιμή συστατικών με Enzyme
- Δοκιμές από άκρο σε άκρο με χρήση Detox και αυτοματοποιημένες ρυθμίσεις δοκιμών
- Προφίλ απόδοσης με χρήση React Native Debugger και Flipper
Εβδομάδα 11: Ανάπτυξη εφαρμογών και συνεχής ενσωμάτωση
- Ανάπτυξη App Store (iOS).
- Προετοιμασία της εφαρμογής σας για υποβολή: πιστοποιητικά App Store, προφίλ παροχής και δοκιμή beta του TestFlight
- Χρήση του Fastlane για την αυτοματοποίηση iOS ανάπτυξης εφαρμογών
- Διαχείριση App Store Connect και ρύθμιση διαδικασιών ελέγχου εφαρμογών
- Ανάπτυξη Google Play (Android).
- Προετοιμασία του APK και υπογραφή του για την υποβολή Google Play
- Αυτοματοποίηση ανάπτυξης εφαρμογών Android με το Fastlane και το Gradle
- Χρήση του Google Play Console για έλεγχο εφαρμογών και δοκιμές beta
- Ρύθμιση αγωγών CI/CD
- Διαμόρφωση Jenkins, GitHub Actions ή CircleCI για αυτοματοποιημένες αγωγούς κατασκευής και ανάπτυξης
- Χρήση του Fastlane και για τις ροές εργασίας CI/CD iOS και Android
- Βέλτιστες πρακτικές για το χειρισμό της έκδοσης, των αριθμών έκδοσης και των καναλιών έκδοσης
Εβδομάδα 12: Capstone Project
- Τελική Ανάπτυξη Έργου
- Σχεδιάστε και αναπτύξτε μια πλήρως λειτουργική εφαρμογή που ενσωματώνει προηγμένες λειτουργίες που μαθαίνονται κατά τη διάρκεια του μαθήματος.
- Εφαρμόστε προσαρμοσμένο UI/UX, προηγμένα κινούμενα σχέδια, διαχείριση κατάστασης, ενσωμάτωση εγγενών λειτουργικών μονάδων και επικοινωνία API σε πραγματικό χρόνο.
- Βελτιστοποιήστε την εφαρμογή για απόδοση και αναπτύξτε την στο App Store και στο Google Play.
Περίληψη και Επόμενα Βήματα
Απαιτήσεις
- Στέρεη κατανόηση των εννοιών προγραμματισμού, ιδιαίτερα στα Swift, Kotlin και JavaScript
- Προηγούμενη εμπειρία στη δημιουργία βασικών iOS, Android ή React εγγενών εφαρμογών
- Γνώση σχεδιαστικών μοτίβων όπως MVC ή MVVM και εμπειρία με βασική διαχείριση κατάστασης
Ακροατήριο
- Προγραμματιστές κινητών τηλεφώνων
- Προγραμματιστές
Σχόλια (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
Μηχανική Μετάφραση