Course Outline
Εισαγωγή
Εβδομάδα 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.
Περίληψη και Επόμενα Βήματα
Requirements
- Στέρεη κατανόηση των εννοιών προγραμματισμού, ιδιαίτερα στα Swift, Kotlin και JavaScript
- Προηγούμενη εμπειρία στη δημιουργία βασικών iOS, Android ή React εγγενών εφαρμογών
- Γνώση σχεδιαστικών μοτίβων όπως MVC ή MVVM και εμπειρία με βασική διαχείριση κατάστασης
Ακροατήριο
- Προγραμματιστές κινητών τηλεφώνων
- Προγραμματιστές
Testimonials (5)
Ο Έντουαρντ είναι ένας φοβερός συντονιστής
Zibusiso Ncube - Agricatural Research Council
Course - Ionic 4 and Angular for Developers
Machine Translated
Το αγαπημένο μου μέρος είναι η ερώτηση και η απάντηση με τον κύριο. Χοσέ. Είναι πολύ ενημερωμένος και γνωρίζει τις απαντήσεις στις ερωτήσεις μας.
John Henry - Toyota Motor Philippines
Course - .NET MAUI (Intermediate)
Machine Translated
Ίσως περισσότερες ασκήσεις θα μπορούσαν να είναι καλύτερες για εκμάθηση, αλλά ο χρόνος ήταν λίγος
Gianpiero Arico' - Urmet Spa
Course - Embedded Linux Systems Architecture
Machine Translated
Miguel's knowledge of the subject was extensive. He made the training easy to understand and the flow was balanced; adding on to each section with new features as needed. He covered everything that was asked and answered each and every question thoroughly. It was a very pleasant experience.
Paul Coaton - SEMPCheck Services
Course - Flutter Development Bootcamp with Dart
The trainer was enthusiastic, kind, and loved the topic