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 και εμπειρία με βασική διαχείριση κατάστασης

Ακροατήριο

  • Προγραμματιστές κινητών τηλεφώνων
  • Προγραμματιστές
 420 Hours

Number of participants


Price per participant

Testimonials (5)

Upcoming Courses

Related Categories