Εξέλιξη Κομματιού
Εισαγωγή
Εβδομάδα 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
- Αποθήκευση και ανάκτηση αρχείων πολυμέσων
- Core location και χάρτες
- Προηγμένα Χαρακτηριστικά Android
- Τοποθεσία και χάρτες
- Χρήση του Google Maps API για προβολή χαρτών και τοποθεσίας χρήστη
- Πρόσβαση σε δεδομένα GPS και χειρισμός γεωεντοπισμού
- Κάμερα και πολυμέσα
- Χρήση του CameraX για λήψη φωτογραφιών και χειρισμό αδειών κάμερας
- Προβολή εικόνων και χειρισμός αποθήκευσης πολυμέσων
- Τοποθεσία και χάρτες
- Προηγμένα Χαρακτηριστικά React Native
- Χάρτες στο React Native
- Ενσωμάτωση χαρτών χρησιμοποιώντας το
react-native-maps - Χειρισμός υπηρεσιών βάσει τοποθεσίας (γεωεντοπισμός, χαρτογράφηση διαδρομών)
- Ενσωμάτωση χαρτών χρησιμοποιώντας το
- Πρόσβαση κάμερας και πολυμέσων
- Χρήση της βιβλιοθήκης React Native Camera για λήψη φωτογραφιών
- Πρόσβαση στην αποθήκευση πολυμέσων συσκευής και χειρισμός αρχείων
- Χάρτες στο React Native
Εβδομάδα 11: Εκσφαλμάτωση και Δοκιμή
- Εκσφαλμάτωση και Δοκιμή iOS
- Χρήση του debugger Xcode
- Ορισμός σημείων διακοπής και επιθεώρηση μεταβλητών στο Xcode
- Χρήση της κονσόλας για εκσφαλμάτωση σε πραγματικό χρόνο
- Συνήθη προβλήματα εκσφαλμάτωσης και πώς επιλύονται
- Δοκιμή μονάδας σε iOS
- Συγγραφή και εκτέλεση δοκιμών μονάδας χρησιμοποιώντας το πλαίσιο XCTest
- Προσομοίωση αντικειμένων και δοκιμή στοιχείων UI
- Χρήση του debugger Xcode
- Εκσφαλμάτωση και Δοκιμή Android
- Χρήση Logcat στο Android Studio
- Καταγραφή και ανάλυση σφαλμάτων χρησιμοποιώντας Logcat
- Εκσφαλμάτωση εφαρμογών Android με σημεία διακοπής
- Δοκιμή μονάδας σε Android
- Συγγραφή δοκιμών μονάδας χρησιμοποιώντας JUnit
- Δοκιμή στοιχείων UI Android με Espresso
- Χρήση Logcat στο Android Studio
- Εκσφαλμάτωση και Δοκιμή React Native
- Εργαλεία εκσφαλμάτωσης React Native
- Χρήση των Chrome DevTools και React Native Debugger για εκσφαλμάτωση σε πραγματικό χρόνο
- Καταγραφές κονσόλας και επιθεώρηση αιτημάτων δικτύου
- Δοκιμή μονάδας σε React Native
- Συγγραφή δοκιμών μονάδας χρησιμοποιώντας Jest και Enzyme
- Δοκιμή στοιχείων React Native και διαχείριση περιπτώσεων δοκιμών
- Εργαλεία εκσφαλμάτωσης React Native
Εβδομάδα 12: Ανάπτυξη Εφαρμογής και Τελικό Πρόγραμμα (Capstone Project)
- Ανάπτυξη και Διανομή
- Υποβολή στο App Store του iOS
- Προετοιμασία της εφαρμογής σας για διανομή (εικονίδια, πιστοποιητικά, προφίλ provisioning)
- Χρήση του App Store Connect για υποβολή της εφαρμογής προς έλεγχο
- Χρήση του TestFlight για δοκιμή beta
- Υποβολή στο Google Play Store του Android
- Προετοιμασία APK και υπογραφή της εφαρμογής για διανομή
- Χρήση της Κονσόλας Google Play για υποβολή και παρακολούθηση της εφαρμογής
- Κατανόηση πολιτικών και οδηγιών του Play Store
- Υποβολή στο App Store του iOS
- Ανάπτυξη Τελικού Προγράμματος (Capstone Project)
- Ανάπτυξη τελικής εργασίας
- Δημιουργία μιας πλήρως λειτουργικής εφαρμογής της επιλογής σας
- Ενσωμάτωση προηγμένων χαρακτηριστικών όπως κλήσεις API, πλοήγηση, πολυμέσα και τοποθεσία
- Παρουσίαση και επίδειξη της τελικής εφαρμογής σε συναδέλφους και εκπαιδευτές
- Ανάπτυξη τελικής εργασίας
Σύνοψη και Επόμενα Βήματα
Απαιτήσεις
- Βασική κατανόηση εννοιών προγραμματισμού
- Βασικές γνώσεις JavaScript
Κοινό-στόχος
- Προγραμματιστές κινητών εφαρμογών
- Προγραμματιστές
Σχόλια (3)
Όλα είναι καλά.
Adrian Rybka - SEOyon
Κομμάτι - Flutter Development Bootcamp with Dart
Μηχανική Μετάφραση
Πολύ χρήσιμες πρόσθετες πληροφορίες
Grzegorz - Comp S.A.
Κομμάτι - BLoC Pattern
Μηχανική Μετάφραση
Ανάπτυξη της εφαρμογής χρηστικής πιστότητας και της δραστηριότητας kahoot (εξασφάλισα ο μένων εγώ ότι απορροφώ τα εκπαιδευτικά video :) και είναι διασκεδαστικό!)
Jhoanne - Pag-IBIG Fund
Κομμάτι - .NET MAUI Fundamentals
Μηχανική Μετάφραση