Εξέλιξη Κομματιού
Εισαγωγή
Εβδομάδα 1: Προηγμένες έννοιες Swift, Kotlin και JavaScript
- Swift (iOS)
- Προηγμένες συναρτήσεις: Closures, δέσμευση τιμών, συναρτήσεις ανώτερης τάξης
- Προγραμματισμός προσανατολισμένος σε πρωτόκολλα και γενικά
- Διαχείριση μνήμης με ARC (Automatic Reference Counting)
- Kotlin (Android)
- Συναρτήσεις επέκτασης και η Standard Library της Kotlin
- Coroutines για ασύγχρονο προγραμματισμό
- Sealed classes, enums και προηγμένη διαχείριση σφαλμάτων
- JavaScript (React Native)
- Προηγμένες δυνατότητες ES6+: Αποδόμηση, async/await, promises
- Έννοιες συναρτησιακού προγραμματισμού στη JavaScript
- Εργασία με βιβλιοθήκες τρίτων στο React Native
Εβδομάδα 2: Αρχιτεκτονική εφαρμογών κινητών και πρότυπα σχεδίασης
- MVVM (Model-View-ViewModel) για iOS και Android
- Κατανόηση της αρχιτεκτονικής MVVM για iOS (Swift) και Android (Kotlin)
- Υλοποίηση ViewModels και παρακολούθηση δεδομένων με LiveData (Android) και Combine (iOS)
- Αντιδραστικός προγραμματισμός με RxSwift και RxKotlin
- Αρχιτεκτονική βασισμένη σε components στο React Native
- Κατανόηση των κύκλων ζωής των components και των hooks
- Βέλτιστες πρακτικές για τη διαχείριση state και props σε κλίμακα
- Χρήση του React Context API για global state management
Εβδομάδα 3: Προηγμένες έννοιες δικτύωσης
- Δικτύωση σε iOS (Swift)
- Εργασία με το URLSession για προσαρμοσμένα δικτυακά αιτήματα
- Προηγμένες κλήσεις REST API και διαχείριση σφαλμάτων
- Εργασία με Codable και ανάλυση JSON
- Βέλτιστες πρακτικές για ασφαλή επικοινωνία API (SSL pinning, OAuth)
- Δικτύωση σε Android (Kotlin)
- Retrofit για κλήσεις API και διαχείριση αποκρίσεων
- Προηγμένη διαχείριση σφαλμάτων API και μηχανισμοί επανάληψης
- Χρήση Gson ή Moshi για ανάλυση JSON
- Ασφαλής επικοινωνία με χρήση HTTPS και πιστοποίηση OAuth
Εβδομάδα 4: Δικτύωση στο React Native
- Ενσωμάτωση API με Axios και Fetch
- Προηγμένη ενσωμάτωση API με Axios και Fetch
- Στρατηγικές διαχείρισης σφαλμάτων και επαναλήψεις σε δικτυακά αιτήματα
- Εργασία με πιστοποίηση (JWT, OAuth)
- WebSockets και επικοινωνία πραγματικού χρόνου
- Εισαγωγή στα WebSockets στο React Native
- Δημιουργία λειτουργιών συνομιλίας ή ειδοποιήσεων σε πραγματικό χρόνο με συνδέσεις WebSocket
- Διαχείριση μόνιμων συνδέσεων και ενημερώσεων δεδομένων
Εβδομάδα 5: Προηγμένες τεχνικές αποθήκευσης δεδομένων
- Core Data και SQLite (iOS)
- Προηγμένες σχέσεις, αναζητήσεις και ερωτήματα στο Core Data
- Άμεση χρήση SQLite για εφαρμογές iOS και διαχείριση συνδέσεων βάσης δεδομένων
- Αποδοτικός χειρισμός και βελτιστοποίηση δεδομένων
- Room Persistence και SQLite (Android)
- Προηγμένες σχέσεις και ερωτήματα στη βάση δεδομένων Room
- Διαχείριση μεγάλων συνόλων δεδομένων και βελτιστοποίηση απόδοσης βάσης δεδομένων
- Χρήση ProGuard για την ασφάλεια δομών βάσης δεδομένων
- Firebase για αποθήκευση cloud (iOS και Android)
- Ενσωμάτωση με Firebase για διαχείριση βάσεων δεδομένων σε πραγματικό χρόνο
- Βέλτιστες πρακτικές για συγχρονισμό τοπικών δεδομένων και δεδομένων cloud
Εβδομάδα 6: Προηγμένη διαχείριση κατάστασης στο React Native
- Redux για διαχείριση κατάστασης
- Προηγμένες έννοιες Redux: Middlewares, Thunks και Sagas
- Βελτιστοποίηση του Redux για απόδοση και κλιμάκωση
- Recoil για διαχείριση κατάστασης
- Εισαγωγή στο Recoil: Μια πιο ευέλικτη εναλλακτική λύση στο Redux
- Διαχείριση κατάστασης σε μεγάλη κλίμακα μεταξύ components
- Αποδοτικές ενημερώσεις κατάστασης και ατομική διαχείριση κατάστασης
Εβδομάδα 7: Προηγμένα κινούμενα γραφικά σε iOS και Android
- iOS (Swift)
- Core Animation: Κινούμενα γραφικά για views, layers και μεταβάσεις
- UIKit Dynamics: Δημιουργία κινούμενων γραφικών βασισμένων στη φυσική
- Προσαρμοσμένες μεταβάσεις και κινούμενα γραφικά μεταξύ view controllers
- Android (Kotlin)
- MotionLayout για δημιουργία σύνθετων κινούμενων γραφικών
- TransitionManager και μεταβάσεις κοινών στοιχείων
- Property animations για κλιμάκωση, περιστροφή και αλλαγές διαφάνειας views
Εβδομάδα 8: Κινούμενα γραφικά και UI/UX στο React Native
- Κινούμενα γραφικά στο React Native
- Χρήση των Animated API και Reanimated για σύνθετα κινούμενα γραφικά
- Υλοποίηση χειρονομιών και αλληλεπιδράσεων με το React Native Gesture Handler
- Βέλτιστες πρακτικές για αποδοτικά κινούμενα γραφικά στο React Native
- Δημιουργία προσαρμοσμένων UI components
- Κατασκευή επαναχρησιμοποιήσιμων και παραμετροποιήσιμων components στο React Native
- Υλοποίηση responsive σχεδίασης με media queries και flexbox
Εβδομάδα 9: Ενσωμάτωση εγγενών modules και λειτουργιών συσκευής
- Πρόσβαση σε εγγενείς λειτουργίες συσκευής
- Προηγμένη χρήση κάμερας, γεωτοποθεσίας, Bluetooth και αισθητήρων
- Δημιουργία εγγενών modules σε Swift και Kotlin για ενσωμάτωση στο React Native
- Ενσωμάτωση ARKit για επαυξημένη πραγματικότητα στο iOS
- Ενσωμάτωση CameraX και ARCore για επαυξημένη πραγματικότητα στο Android
- React Native Bridge και εγγενή modules
- Κατασκευή προσαρμοσμένων εγγενών modules για ενσωμάτωση με λειτουργικότητα ειδική για την πλατφόρμα
- Δημιουργία γεφυρών Java και Swift για εφαρμογές React Native
- Βέλτιστες πρακτικές για τη διαχείριση εγγενούς κώδικα σε περιβάλλον cross-platform
Εβδομάδα 10: Έλεγχος και αποσφαλμάτωση προηγμένων εφαρμογών
- Έλεγχος σε iOS (Swift)
- Συγγραφή unit tests με XCTest και UI tests για iOS
- Χρήση των Xcode Instruments για προφίλ απόδοσης και διαρροές μνήμης
- Διαδικασίες συνεχούς ενσωμάτωσης και ελέγχου με Jenkins και CircleCI
- Έλεγχος σε Android (Kotlin)
- Προηγμένος έλεγχος με JUnit και Espresso για εφαρμογές Android
- Προφίλ απόδοσης και εντοπισμός σημείων συμφόρησης με το Android Profiler
- Χρήση Firebase Test Lab για αυτοματοποιημένους ελέγχους σε πολλές συσκευές
- Έλεγχος στο React Native
- Unit testing με Jest και component testing με Enzyme
- End-to-end testing με Detox και αυτοματοποιημένες ρυθμίσεις ελέγχων
- Προφίλ απόδοσης με τα React Native Debugger και Flipper
Εβδομάδα 11: Ανάπτυξη εφαρμογών και συνεχής ενσωμάτωση
- Ανάπτυξη στο App Store (iOS)
- Προετοιμασία της εφαρμογής για υποβολή: Πιστοποιητικά App Store, provisioning profiles και δοκιμές beta με TestFlight
- Χρήση Fastlane για αυτοματοποίηση της ανάπτυξης εφαρμογών iOS
- Διαχείριση του App Store Connect και ρύθμιση διαδικασιών αξιολόγησης εφαρμογών
- Ανάπτυξη στο Google Play (Android)
- Προετοιμασία του APK και υπογραφή του για υποβολή στο Google Play
- Αυτοματοποίηση της ανάπτυξης εφαρμογών Android με Fastlane και Gradle
- Χρήση της Κονσόλας Google Play για αξιολόγηση εφαρμογών και δοκιμές beta
- Ρύθμιση pipelines CI/CD
- Διαμόρφωση Jenkins, GitHub Actions ή CircleCI για αυτοματοποιημένα pipelines κατασκευής και ανάπτυξης
- Χρήση Fastlane για ροές εργασίας CI/CD τόσο σε iOS όσο και σε Android
- Βέλτιστες πρακτικές για το χειρισμό εκδόσεων, αριθμών κατασκευής και καναλιών κυκλοφορίας
Εβδομάδα 12: Capstone Project
- Ανάπτυξη τελικής εργασίας
- Σχεδιάστε και αναπτύξτε μια πλήρως λειτουργική εφαρμογή που ενσωματώνει προηγμένα χαρακτηριστικά που μάθατε καθ' όλη τη διάρκεια του μαθήματος.
- Υλοποιήστε προσαρμοσμένο UI/UX, προηγμένα κινούμενα γραφικά, διαχείριση κατάστασης, ενσωμάτωση εγγενών modules και επικοινωνία API πραγματικού χρόνου.
- Βελτιστοποιήστε την εφαρμογή για απόδοση και αναπτύξτε την στο App Store και το Google Play.
Περίληψη και Επόμενα Βήματα
Απαιτήσεις
- Καλή κατανόηση των εννοιών προγραμματισμού, ιδιαίτερα σε Swift, Kotlin και JavaScript
- Προηγούμενη εμπειρία στη δημιουργία βασικών εφαρμογών iOS, Android ή React Native
- Γνώση προτύπων σχεδίασης όπως MVC ή MVVM και εμπειρία στη βασική διαχείριση κατάστασης
Κοινό-στόχος
- Προγραμματιστές κινητών εφαρμογών
- Προγραμματιστές
Σχόλια (3)
Όλα είναι καλά.
Adrian Rybka - SEOyon
Κομμάτι - Flutter Development Bootcamp with Dart
Μηχανική Μετάφραση
Πολύ χρήσιμες πρόσθετες πληροφορίες
Grzegorz - Comp S.A.
Κομμάτι - BLoC Pattern
Μηχανική Μετάφραση
Ανάπτυξη της εφαρμογής χρηστικής πιστότητας και της δραστηριότητας kahoot (εξασφάλισα ο μένων εγώ ότι απορροφώ τα εκπαιδευτικά video :) και είναι διασκεδαστικό!)
Jhoanne - Pag-IBIG Fund
Κομμάτι - .NET MAUI Fundamentals
Μηχανική Μετάφραση