Προγραμματιστής iOS. Επαγγελματικό - μάθημα 70.000 τρίψτε. από την Otus, εκπαίδευση 5 μηνών, ημερομηνία 27 Νοεμβρίου 2023.
μικροαντικείμενα / / November 27, 2023
Το πρόγραμμα δημιουργήθηκε ειδικά για προγραμματιστές iOS με εμπειρία 1 έτους ή περισσότερο στην ανάπτυξη εφαρμογών iOS για κινητά.
Χαρακτηριστικά του προγράμματος Η εκπαίδευση βασίζεται αποκλειστικά σε περιπτώσεις από την πρακτική ανάπτυξης εφαρμογών στην παραγωγή. Θα λύσουμε σύνθετα και σκληροπυρηνικά προβλήματα με το επίπεδο ποιότητας κορυφαίων εφαρμογών:
✔ θα αναπτύξουμε μια πολύπλοκη και κινούμενη διεπαφή χρήστη χρησιμοποιώντας το SwiftUI και γνώσεις που δεν μπορούν να βρεθούν σε άρθρα στο Διαδίκτυο.
✔ θα μάθουμε πώς να προσαρμόζουμε τον κώδικα διεπαφής χρήστη για το iPadOS και να τον μεταφέρουμε σε πλατφόρμες watchOS, tvOS, macOS.
✔ θα μελετήσουμε το ζήτημα της ανάμειξης δηλωτικών και επιτακτικών παραδειγμάτων, μοτίβων Rx και ανάπτυξης στο Combine.
✔ θα δημιουργήσουμε μια αρχιτεκτονική για μια συγκεκριμένη εφαρμογή: MVVM+S, Clean Swift (VIP) ή SOA.
✔ θα μάθουμε τη σπάνια ικανότητα μεταφοράς μιας εφαρμογής στο Android με άνεση για προγραμματιστές iOS διατηρώντας παράλληλα το 80-90% της λογικής. Χρησιμοποιώντας τη δημιουργία κώδικα, ένας τρόπος για να εξελιχθείτε ως μηχανικός κινητής τηλεφωνίας σε σχήμα Τ.
Θα μάθεις:
✔ εφαρμόστε το GCD και λύστε προβλήματα πολλαπλών εργασιών,
✔ εργασία με πρωτόκολλα Sequence και Collection,
✔ χρήση τεχνικών δομών δεδομένων, Generic Type, Associated Types and Type Erasure, PATs (Protocol with Associated Types) σε έργα
✔ εργάζονται άρτια με διάφορες μεθόδους αποθήκευσης δεδομένων (Core Data, Realm, Keychain, Cache),
✔ Χρησιμοποιήστε το Dependency Injection (DI) και τη σπονδυλοποίηση εφαρμογών για πιο άνετη ανάπτυξη ομάδας και κάλυψη δοκιμών.
✔ Μάθετε στην πράξη όλα τα πλεονεκτήματα και τα μειονεκτήματα των γνωστών μεθοδολογιών, προσεγγίσεων και παραδειγμάτων (Προγραμματισμός με προσανατολισμό στο πρωτόκολλο, OOP, Reactive Programming).
Μάθετε να γράφετε εκφραστικό κώδικα που, σε λίγες γραμμές, κάνει αυτό που χρειαζόταν προηγουμένως για να ολοκληρωθεί μια ολόκληρη οθόνη.
Κατακτήστε τα βασικά χαρακτηριστικά του Swift 5
Θα είστε σε θέση να προσδιορίσετε τη σκοπιμότητα χρήσης ορισμένων αρχιτεκτονικών μοτίβων
Βουτήξτε στις αποχρώσεις της χρήσης του Rx: όταν χρειάζεται και όταν αποδίδει
Μετά την εκπαίδευση, οι απόφοιτοι θα μπορούν να σχεδιάζουν σύνθετα στοιχεία διεπαφής χρήστη σε επαγγελματικό επίπεδο και να βελτιστοποιούν την απόδοσή τους, αναπτύξτε εφαρμογές πελάτη-διακομιστή και τρόπο λειτουργίας εκτός σύνδεσης, γράψτε κώδικα που ελέγχεται από δοκιμές μονάδων και, φυσικά, καταφέρετε να γράψετε δοκιμές.
Οι συνεργάτες μας Certiport παρέχουν έκπτωση 10% στην εξέταση πιστοποίησης για την ανάπτυξη εφαρμογών με Swift (Επίπεδο 1) σε όλους τους αποφοίτους μαθημάτων!
Αυτή τη στιγμή αναπτύσσει μια εφαρμογή iOS για μια μεγάλη εταιρεία μεταφορών στη Ρωσία. Το επαγγελματικό μονοπάτι ήταν συναρπαστικό: Προγραμμάτισα για ηλεκτρονικά, ήμουν προγραμματιστής PHP για περίπου 10 χρόνια και πρόσφατα αφοσιώθηκα εξ ολοκλήρου στην ανάπτυξη iOS. Ως προγραμματιστής iOS...
Εργάζεται ως προγραμματιστής από το 2002, με συνολική εμπειρία προγραμματισμού 17 ετών. Διαθέτει μεγάλη εμπειρία στην ανάπτυξη σε C/C++, C#, Java, JS, Swift. Συμμετείχε σε περισσότερα από δέκα μεγάλα και πολύπλοκα έργα...
Εργάζεται ως προγραμματιστής από το 2002, με συνολική εμπειρία προγραμματισμού 17 ετών. Διαθέτει μεγάλη εμπειρία στην ανάπτυξη σε C/C++, C#, Java, JS, Swift. Συμμετείχε σε περισσότερα από δέκα μεγάλα και σύνθετα έργα σε κορυφαίες εταιρείες πληροφορικής της χώρας (παιχνίδια, instant messengers, fintech και εφαρμογές γραφείου), όπως Tinkoff Bank, Mail.ru, New Cloud Technologies. Διδάσκει iOS/Swift 4 της χρονιάς. Ομιλητής σε συναντήσεις iOS. Γνωρίζει ότι ο προγραμματισμός αναπτύσσει τον εγκέφαλο, επομένως σχεδιάζει να αναπτύσσεται για το υπόλοιπο της ζωής του. Αφιερώνει τον ελεύθερο χρόνο του στην geek καλλιτεχνική φωτογραφία και την εξόρυξη κρυπτονομισμάτων. ΔΙΑΧΕΙΡΙΣΤΗΣ προγράμματος
Εργάζομαι ως προγραμματιστής iOS σε εταιρεία λιανικής. Πριν ενταχθεί στο iOS, εργαζόταν στην ανάπτυξη λογισμικού. Αυτήν την περίοδο αναπτύσσω και μεταφράζω την εφαρμογή σε SwiftUI.Έχω λάβει μέρος στην υλοποίηση μεγάλων εμπορικών και μικρών μη εμπορικών...
SwiftUI και Combine Basics
-Θέμα 1. Σχεδιασμός διεπαφής χρήστη δηλωτικά με το SwiftUI. Ποιες είναι οι διαφορές μεταξύ UIKit και SwiftUI
-Θέμα 2. Λίστα SwiftUI, Λίστα με προσαρμοσμένη διάταξη, Φιλοξενία ViewControllers
-Θέμα 3.Χρήση NavigationView, TabView. Δημιουργία της δικής σας στοίβας πλοήγησης
-Θέμα 4.Δημιουργία προσαρμοσμένου σχήματος, SwiftUI Drawing and Animation API
-Θέμα 5. Εμφάνιση δομημένων δεδομένων, λίστας, σελιδοποίησης, προσαρμοσμένων στοιχείων στο UIViewRepresentable
Σύγχρονη αρχιτεκτονική εφαρμογών για κινητά
-Θέμα 6. Ασυνήθιστο σύστημα τύπου Swift, δομές δεδομένων, Γενικά
-Θέμα 7. Σύνδεση διαφορετικών τμημάτων της εφαρμογής Παρατήρηση, Σήματα, Επανακλήσεις. PAT (πρωτόκολλο με συσχετισμένους τύπους)
-Θέμα 8.Προγραμματισμός με προσανατολισμό στο πρωτόκολλο (POP), SOA, modularization, architectural Rx patterns: Flux/Redux
-Θέμα 9.MVx, VIP, ανάλυση αρχιτεκτονικών προτύπων. SOLID, GRASP, Αρχές σύζευξης/συνοχής.
Ίδρυμα χωρίς πλαίσια τρίτων και Swift 5 Standard Library
-Θέμα 10. Αλληλουχίες και συλλογές, ασυμπτωτική ανάλυση: O(1), O(N), O(N*log (N)), O(n^2)
-Θέμα 11. Χρήση της πλήρους ισχύος του String: StringInterpolation, Expressible. Τοπικές μορφές.
-Θέμα 12. Συνδυαστικοί τύποι, Τύπος διαγραφής, τύποι δεδομένων "ζάχαρη", αποστολή κλήσεων στο Swift 5
-Θέμα 13. Μεταγλωττιστής LLVM, AST, δημιουργία των δικών σας τελεστών
Multitasking
-Θέμα 14. Προβλήματα multitasking και τρόποι επίλυσής τους, ΓΚΔ
-Θέμα 15. Εσωτερικά GCD(libdispatch), OperationQueue
-Θέμα 16.RunLoop & POSIX Threads, Synchronization Tools, Lock, Mutex
Δικτύωση και αποθήκευση δεδομένων
-Θέμα 17.Νέο πλαίσιο δικτύου, URLSession, Κωδικοποιήσιμη
-Θέμα 18.Socket.io, WebSocket και άλλες υποδοχές για συνομιλίες και άμεσες ενημερώσεις
-Θέμα 19.SQLite, μέθοδοι προσωρινής αποθήκευσης, Αρχεία, Σύγκριση CoreData και Realm
-Θέμα 20. Ασφάλεια: OAuth 2.0, Σύμπτυξη κλειδιών αλυσίδας κλειδιών και API, Καρφίτσωμα SSL
Δημιουργία εφαρμογών για Apple Watch, TV, Mac
-Θέμα 21.watchOS
-Θέμα 22.tvOS
-Θέμα 23. Κώδικας μεταξύ πλατφορμών για iOS/iPadOS, watchOS, macOS, tvOS
CoreML και Vision, νευρωνικά δίκτυα και μηχανική μάθηση
-Θέμα 24.CoreML, CreateML, TensorFlow χρησιμοποιώντας εκπαιδευμένα μοντέλα νευρωνικών δικτύων
-Θέμα 25.CoreML: λήψη μοντέλων που χρησιμοποιούν το AutoML Vision και χρήση τους στη συσκευή
Ανάπτυξη πολλαπλών πλατφορμών: μεταφορά σε Android, Vulkan/Metal
-Θέμα 26. Multiplatform για Rich Media: Metal and Vulkan, ανάπτυξη παιχνιδιών, επεξεργασία βίντεο/εικόνας
-Θέμα 27.Jetpack Compose
-Θέμα 28. Ταυτόχρονη υλοποίηση λειτουργιών σε iOS + Android. Απαιτούμενο σετ εργαλείων
Αναπτυξιακός οργανισμός
-Θέμα 29. Δοκιμή κωδικών XCTest, UITest, fastlane και CI
-Θέμα 30.Git-flow, TBD, αυτοματοποίηση ροής εργασιών
-Θέμα 31. Πώς να γράψετε σωστά ένα βιογραφικό και να αναπτύξετε σκληρές δεξιότητες
Εργασία έργου
-Θέμα 32.Γράφοντας μια εφαρμογή από την αρχή
-Θέμα 33. Διαβούλευση για έργα και εργασίες για το σπίτι
-Θέμα 34.Προστασία μελετητικών εργασιών