Επικοινωνήστε μαζί μας

Εξέλιξη Κομματιού

Εισαγωγή

Εβδομάδα 1: Επισκόπηση στην Ανάπτυξη για Κινητές Συσκευές

  • Οικοσύστημα και Πλατφόρμες Κινητών
    • Επισκόπηση λειτουργικών συστημάτων κινητών (iOS και Android)
    • Βασικές διαφορές μεταξύ iOS, Android και πολυπλατφορμικής ανάπτυξης
    • Δημοφιλή καταστήματα εφαρμογών (Apple App Store, Google Play Store)
    • Εισαγωγή στην εγγενή, υβριδική και πολυπλατφορμική ανάπτυξη
  • Εγγενής έναντι Υβριδικής έναντι Πολυπλατφορμικής Ανάπτυξης
    • Πλεονεκτήματα και προκλήσεις κάθε μεθόδου ανάπτυξης
    • Επισκόπηση των Swift (για iOS), Kotlin (για Android) και React Native (πολυπλατφορμική)
    • Πώς ο κώδικας μεταφράζεται σε πλατφόρμες κινητών (JavaScript σε εγγενή κώδικα στο React Native)
  • Βασικές Αρχές Προγραμματισμού
    • Εισαγωγή σε έννοιες προγραμματισμού (μεταβλητές, τύποι δεδομένων, συναρτήσεις, ροή ελέγχου)
    • Σύγκριση της σύνταξης Swift, Kotlin και JavaScript
    • Συγγραφή απλών προγραμμάτων χρησιμοποιώντας Swift, Kotlin και JavaScript
  • Ρύθμιση Περιβαλλόντων Ανάπτυξης
    • Εγκατάσταση του Xcode και του Android Studio
    • Ρύθμιση του React Native CLI και Expo
    • Εκτέλεση βασικών εφαρμογών "Hello World" σε προσομοιωτές και εξομοιωτές

Εβδομάδα 2: Εισαγωγή σε Swift, Kotlin και JavaScript

  • Προγραμματισμός Swift για iOS
    • Μεταβλητές, σταθερές και τύποι δεδομένων στη Swift
    • Δηλώσεις ροής ελέγχου (if, switch, βρόχοι)
    • Συναρτήσεις και παράμετροι στη Swift
    • Εισαγωγή στη διεπαφή του Xcode και το Swift Playgrounds
  • Προγραμματισμός Kotlin για Android
    • Μεταβλητές, τύποι δεδομένων και συναρτήσεις στην Kotlin
    • Κατανόηση της ασφάλειας null της Kotlin
    • Δομές ροής ελέγχου και βρόχοι
    • Εισαγωγή στη διεπαφή του Android Studio και το Kotlin Playground
  • JavaScript για React Native
    • Μεταβλητές, σταθερές και ροή ελέγχου στη JavaScript
    • Χαρακτηριστικά ES6: arrow functions, template literals και destructuring
    • Συγγραφή και εκτέλεση βασικών προγραμμάτων JavaScript σε React Native χρησιμοποιώντας το Expo

Εβδομάδα 3: Σχεδίαση Διεπαφής Χρήστη iOS

  • Στοιχεία UI στο iOS
    • Εισαγωγή σε UIKit και SwiftUI
    • Προσθήκη και προσαρμογή στοιχείων UI όπως κουμπιά, ετικέτες και πεδία κειμένου
    • Χρήση του Interface Builder για τη σχεδίαση UI
    • Εργασία με Storyboards και σχεδίαση UI πολλαπλών οθονών
  • Auto Layout και Περιορισμοί
    • Κατανόηση του συστήματος Auto Layout
    • Χρήση περιορισμών για αποκριτικές διατάξεις σε διαφορετικά μεγέθη οθονών
    • Δημιουργία στοίβων όψεων και δυναμική προσαρμογή στοιχείων UI
  • Βασικές αρχές SwiftUI
    • Εισαγωγή στη δηλωτική σχεδίαση UI με SwiftUI
    • Δημιουργία απλών στοιχείων UI χρησιμοποιώντας SwiftUI

Εβδομάδα 4: Σχεδίαση Διεπαφής Χρήστη Android

  • Διατάξεις XML στο Android
    • Εισαγωγή στη σχεδίαση διάταξης βασισμένη σε XML
    • Εργασία με κοινές διατάξεις: LinearLayout, RelativeLayout, ConstraintLayout
    • Προσθήκη και προσαρμογή στοιχείων UI: κουμπιά, προβολές κειμένου, προβολές εικόνων
    • Χρήση του ConstraintLayout για αποκριτικές και δυναμικές διατάξεις
  • Material Design
    • Ενσωμάτωση αρχών Material Design (χρώματα, εικονίδια, τυπογραφία)
    • Χρήση Material Components (κουμπιά, floating action buttons, κάρτες)
    • Υλοποίηση θεμάτων και στυλ για εφαρμογές Android

Εβδομάδα 5: Σχεδίαση Διεπαφής Χρήστη React Native

  • Διάταξη Flexbox στο React Native
    • Κατανόηση του Flexbox για αποκριτική σχεδίαση διάταξης
    • Δημιουργία διατάξεων βασισμένων σε στήλες και γραμμές
    • Στυλ σε στοιχεία UI με ιδιότητες Flexbox (justifyContent, alignItems κ.λπ.)
  • Στοιχεία React Native
    • Εργασία με βασικά στοιχεία όπως Text, View, TextInput και Button
    • Δημιουργία διαδραστικών στοιχείων UI όπως φόρμες και κουμπιά
    • Χρήση του στοιχείου ScrollView για δυναμικό περιεχόμενο

Εβδομάδα 6: Διαχείριση Δεδομένων σε iOS και Android

  • Διαχείριση Δεδομένων iOS
    • Χρήση του UserDefaults για απλή διατήρηση δεδομένων
    • Εισαγωγή στο Core Data για τοπική αποθήκευση σύνθετων δεδομένων
    • Ανάκτηση δεδομένων από API χρησιμοποιώντας URLSession
    • Ανάλυση δεδομένων JSON και προβολή τους στο UI
  • Διαχείριση Δεδομένων Android
    • Χρήση του SharedPreferences για αποθήκευση μικρών ποσοτήτων δεδομένων
    • Εισαγωγή σε SQLite και Room Persistence Library για διαχείριση βάσεων δεδομένων
    • Ανάκτηση δεδομένων από API χρησιμοποιώντας Retrofit
    • Ανάλυση JSON και χειρισμός απαντήσεων API

Εβδομάδα 7: Διαχείριση Κατάστασης και API στο React Native

  • State και Props στο React Native
    • Διαχείριση ροής δεδομένων εντός των στοιχείων του React Native
    • Χρήση του hook useState για διαχείριση τοπικής κατάστασης στοιχείου
    • Μεταβίβαση δεδομένων μεταξύ γονικών και θυγατρικών στοιχείων μέσω props
  • Ανάκτηση Δεδομένων στο React Native
    • Χρήση των Fetch API και Axios για πραγματοποίηση αιτημάτων HTTP
    • Προβολή ανακτημένων δεδομένων σε λίστες (χρησιμοποιώντας FlatList, SectionList)
    • Διατήρηση δεδομένων τοπικά χρησιμοποιώντας AsyncStorage στο React Native

Εβδομάδα 8: Πλοήγηση σε iOS και Android

  • Πλοήγηση iOS
    • Εισαγωγή στους navigation controllers και διαχείριση πολλαπλών οθονών
    • Χρήση segue για μετάβαση μεταξύ view controllers
    • Μεταβίβαση δεδομένων μεταξύ view controllers
    • Υλοποίηση TabBar και NavigationBar για δομημένη πλοήγηση
  • Πλοήγηση Android
    • Εργασία με Activities και Intents για εφαρμογές πολλαπλών οθονών
    • Μεταβίβαση δεδομένων μεταξύ Activities χρησιμοποιώντας Bundles
    • Δημιουργία Navigation Drawer και BottomNavigationView
    • Υλοποίηση fragments για ευέλικτη πλοήγηση UI

Εβδομάδα 9: Πλοήγηση στο React Native

  • Βασικές αρχές React Navigation
    • Εγκατάσταση και ρύθμιση του React Navigation
    • Χρήση Stack Navigator για μεταβάσεις οθονών
    • Υλοποίηση Tab Navigator και Drawer Navigator για σύνθετη πλοήγηση
    • Μεταβίβαση παραμέτρων μεταξύ οθονών και διαχείριση κατάστασης πλοήγησης

Εβδομάδα 10: Προηγμένα Χαρακτηριστικά

  • Προηγμένα Χαρακτηριστικά iOS:
    • Core location και χάρτες
      • Πρόσβαση στην τοποθεσία συσκευής με Core Location
      • Προβολή χαρτών χρησιμοποιώντας MapKit
      • Χειρισμός γεωεντοπισμού και παρακολούθησης τοποθεσίας χρήστη
    • Κάμερα και πολυμέσα
      • Πρόσβαση στην κάμερα συσκευής και στη βιβλιοθήκη φωτογραφιών
      • Λήψη και προβολή εικόνων με UIImagePickerController
      • Αποθήκευση και ανάκτηση αρχείων πολυμέσων
  • Προηγμένα Χαρακτηριστικά Android
    • Τοποθεσία και χάρτες
      • Χρήση του Google Maps API για προβολή χαρτών και τοποθεσίας χρήστη
      • Πρόσβαση σε δεδομένα GPS και χειρισμός γεωεντοπισμού
    • Κάμερα και πολυμέσα
      • Χρήση του CameraX για λήψη φωτογραφιών και χειρισμό αδειών κάμερας
      • Προβολή εικόνων και χειρισμός αποθήκευσης πολυμέσων
  • Προηγμένα Χαρακτηριστικά React Native
    • Χάρτες στο React Native
      • Ενσωμάτωση χαρτών χρησιμοποιώντας το react-native-maps
      • Χειρισμός υπηρεσιών βάσει τοποθεσίας (γεωεντοπισμός, χαρτογράφηση διαδρομών)
    • Πρόσβαση κάμερας και πολυμέσων
      • Χρήση της βιβλιοθήκης React Native Camera για λήψη φωτογραφιών
      • Πρόσβαση στην αποθήκευση πολυμέσων συσκευής και χειρισμός αρχείων

Εβδομάδα 11: Εκσφαλμάτωση και Δοκιμή

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

Εβδομάδα 12: Ανάπτυξη Εφαρμογής και Τελικό Πρόγραμμα (Capstone Project)

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

Σύνοψη και Επόμενα Βήματα

Απαιτήσεις

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

Κοινό-στόχος

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

Αριθμός συμμετέχοντων


Τιμή ανά συμμετέχοντα

Σχόλια (3)

Εφεξής Μαθήματα

Σχετικές Κατηγορίες