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αποθήκευση πολυμέσων συσκευής και χειρισμός αρχείων
- React Εγγενείς χάρτες
Εβδομάδα 11: Εντοπισμός σφαλμάτων και δοκιμή
- iOS Εντοπισμός σφαλμάτων και δοκιμή
- Χρήση του προγράμματος εντοπισμού σφαλμάτων Xcode
- Ορισμός σημείων διακοπής και επιθεώρηση μεταβλητών στο Xcode
- Χρήση της κονσόλας για εντοπισμό σφαλμάτων σε πραγματικό χρόνο
- Συνήθη προβλήματα εντοπισμού σφαλμάτων και τρόπος επίλυσής τους
- Δοκιμή μονάδας σε iOS
- Σύνταξη και εκτέλεση δοκιμών μονάδας χρησιμοποιώντας το πλαίσιο XCTest
- Χλευασμό αντικειμένων και δοκιμή στοιχείων διεπαφής χρήστη
- Χρήση του προγράμματος εντοπισμού σφαλμάτων Xcode
- Android Εντοπισμός σφαλμάτων και δοκιμή
- Χρήση του Logcat στο Android Studio
- Καταγραφή και ανάλυση σφαλμάτων χρησιμοποιώντας το Logcat
- Εντοπισμός σφαλμάτων Android εφαρμογών με σημεία διακοπής
- Δοκιμή μονάδας σε Android
- Γράψιμο δοκιμών μονάδας χρησιμοποιώντας το JUnit
- Δοκιμή Android στοιχείων διεπαφής χρήστη με Espresso
- Χρήση του Logcat στο Android Studio
- React Εγγενής εντοπισμός σφαλμάτων και δοκιμή
- React Εγγενή εργαλεία εντοπισμού σφαλμάτων
- Χρήση του Chrome DevTools και του React Native Debugger για εντοπισμό σφαλμάτων σε πραγματικό χρόνο
- Αρχεία καταγραφής κονσόλας και επιθεώρηση αιτημάτων δικτύου
- Δοκιμή μονάδας σε React Native
- Δοκιμές γραφής μονάδων με χρήση Jest και Enzyme
- Δοκιμές React Εγγενή εξαρτήματα και διαχείριση περιπτώσεων δοκιμών
- React Εγγενή εργαλεία εντοπισμού σφαλμάτων
Εβδομάδα 12: Ανάπτυξη εφαρμογών και Capstone Project
- Ανάπτυξη και Διανομή
- iOS Υποβολή App Store
- Προετοιμασία της εφαρμογής σας για διανομή (εικονίδια, πιστοποιητικά, προφίλ παροχής)
- Χρησιμοποιώντας το App Store Connect για να υποβάλετε την εφαρμογή για έλεγχο
- Χρήση του TestFlight για δοκιμές beta
- Android Υποβολή Play Store
- Προετοιμασία APK και υπογραφή της εφαρμογής για διανομή
- Χρήση του Google Play Console για υποβολή και παρακολούθηση εφαρμογών
- Κατανόηση των πολιτικών και των οδηγιών του Play Store
- iOS Υποβολή App Store
- Ανάπτυξη Έργου Capstone
- Τελική ανάπτυξη έργου
- Δημιουργία μιας πλήρως λειτουργικής εφαρμογής της επιλογής σας
- Ενσωματώνει προηγμένες λειτουργίες όπως κλήσεις API, πλοήγηση, πολυμέσα και τοποθεσία
- Παρουσίαση και επίδειξη της τελικής εφαρμογής σε συνομηλίκους και εκπαιδευτές
- Τελική ανάπτυξη έργου
Περίληψη και Επόμενα Βήματα
Requirements
- Βασική κατανόηση των εννοιών προγραμματισμού
- Βασικές γνώσεις JavaScript
Ακροατήριο
- Προγραμματιστές κινητών τηλεφώνων
- Προγραμματιστές
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