Course Outline

Εισαγωγή

Εβδομάδα 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αποθήκευση πολυμέσων συσκευής και χειρισμός αρχείων

Εβδομάδα 11: Εντοπισμός σφαλμάτων και δοκιμή

  • iOS Εντοπισμός σφαλμάτων και δοκιμή
    • Χρήση του προγράμματος εντοπισμού σφαλμάτων Xcode
      • Ορισμός σημείων διακοπής και επιθεώρηση μεταβλητών στο Xcode
      • Χρήση της κονσόλας για εντοπισμό σφαλμάτων σε πραγματικό χρόνο
      • Συνήθη προβλήματα εντοπισμού σφαλμάτων και τρόπος επίλυσής τους
    • Δοκιμή μονάδας σε iOS
      • Σύνταξη και εκτέλεση δοκιμών μονάδας χρησιμοποιώντας το πλαίσιο XCTest
      • Χλευασμό αντικειμένων και δοκιμή στοιχείων διεπαφής χρήστη
  • Android Εντοπισμός σφαλμάτων και δοκιμή
    • Χρήση του Logcat στο Android Studio
      • Καταγραφή και ανάλυση σφαλμάτων χρησιμοποιώντας το Logcat
      • Εντοπισμός σφαλμάτων Android εφαρμογών με σημεία διακοπής
    • Δοκιμή μονάδας σε Android
      • Γράψιμο δοκιμών μονάδας χρησιμοποιώντας το JUnit
      • Δοκιμή Android στοιχείων διεπαφής χρήστη με Espresso
  • React Εγγενής εντοπισμός σφαλμάτων και δοκιμή
    • React Εγγενή εργαλεία εντοπισμού σφαλμάτων
      • Χρήση του Chrome DevTools και του React Native Debugger για εντοπισμό σφαλμάτων σε πραγματικό χρόνο
      • Αρχεία καταγραφής κονσόλας και επιθεώρηση αιτημάτων δικτύου
    • Δοκιμή μονάδας σε React Native
      • Δοκιμές γραφής μονάδων με χρήση Jest και Enzyme
      • Δοκιμές React Εγγενή εξαρτήματα και διαχείριση περιπτώσεων δοκιμών

Εβδομάδα 12: Ανάπτυξη εφαρμογών και Capstone Project

  • Ανάπτυξη και Διανομή
    • iOS Υποβολή App Store
      • Προετοιμασία της εφαρμογής σας για διανομή (εικονίδια, πιστοποιητικά, προφίλ παροχής)
      • Χρησιμοποιώντας το App Store Connect για να υποβάλετε την εφαρμογή για έλεγχο
      • Χρήση του TestFlight για δοκιμές beta
    • Android Υποβολή Play Store
      • Προετοιμασία APK και υπογραφή της εφαρμογής για διανομή
      • Χρήση του Google Play Console για υποβολή και παρακολούθηση εφαρμογών
      • Κατανόηση των πολιτικών και των οδηγιών του Play Store
  • Ανάπτυξη Έργου Capstone
    • Τελική ανάπτυξη έργου
      • Δημιουργία μιας πλήρως λειτουργικής εφαρμογής της επιλογής σας
      • Ενσωματώνει προηγμένες λειτουργίες όπως κλήσεις API, πλοήγηση, πολυμέσα και τοποθεσία
      • Παρουσίαση και επίδειξη της τελικής εφαρμογής σε συνομηλίκους και εκπαιδευτές

Περίληψη και Επόμενα Βήματα

Requirements

  • Βασική κατανόηση των εννοιών προγραμματισμού
  • Βασικές γνώσεις JavaScript

Ακροατήριο

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

Number of participants


Price per participant

Testimonials (5)

Upcoming Courses

Related Categories