iOS – მობილური პროგრამირება

კურსის სილაბუსი

ლექცია 1

შესავალი

  • მობილური პროგრამირება
  • ჰიბრიდული აპლიკაციები (თეორია)
  • iPhone vs iPad
  • iOS ოპერაციული სისტემის არქიტექტურა, SDK
  • iOS და SDK ვერსიების თავსებადობა
  • iOS Developer Program წევრობა (მნიშვნელობა) ○ განსხვავება iOS სა და Android -ს შორის
  • პირველი სატესტო აპლიკაცია

ლექცია 2

XCode გარემო

  • ტური XCode – ში
  • პროექტი, სამუშაო სივრცე, შაბლონი, Playground ○ პროექტის შექმნა, ძირითადი კონფიგურაციები
  • LLVM და LLDB
  • დებაგირება XCode ში
  • სიმულატორი და ნამდვილი მოწყობილობა ○ პროფილები და სერტიფიკატები
  • დეველოპერის გარემოს ზოგადი მიმოხილვა

ლექცია 3

iOS OOP + ძირითადი დეტალები და მსგავსება სხვა ენებთან (Part 1)

  • მიმოხილვა
  • ცვლადები, კლასები, ობიექტები, მეთოდები, properties ○ პროტოკოლები
  • დელეგირების პატერნი
  • კატეგორიები და გაფართოვებები
  • ბლოკები
  • მეხსიერების მართვა და ARC
  • Weak და strong რეფერენსები
  • განსხვავებები და მსგავსებები სხვა ენებთან

ლექცია 4

OOP + ძირითადი დეტალები და მსგავსება სხვა ენებთან (Part 2)

  • ბაზისური ოპერატორები
  • კოლექციის ტიპები
  • Generic – ები
  • მემკვიდრეობითობა ○ წვდომის კონტროლი ○ ფუნქციები
  • ბლოკები
  • Optional – ები
  • შეცდომების მართვა

ლექცია 5

აპლიკაციის პატერნები და არქიტექტურა (Part 1)

  • MVC – Model View Controller
  • Storyboard, XIB, segue – ები
  • IBAction, IBOutlet

ლექცია 6

აპლიკაციის პატერნები და არქიტექტურა (Part 2)

  • კონტროლერების lifecycle
  • ნავიგაციის კონტროლერი
  • Child View Controller

ლექცია 7

View (Par 1)

  • ვიუების იერარქია
  • UIView, UIWindow
  • კონტეინერები
  • ძირითადი კონტროლები
    • ღილაკი
    • ველი
    • TableView (delegate, dataSource)
    • Collection View

ლექცია 8

View (Par 2)

  • ძირითადი კონტროლები 2
    • StackView
    • Web view
    • ნავიგაციის ბარი ■ ტაბ ბარი
    • სხვა …
  • ნავიგაციის ვიუები
  • Autolayout
  • Custom UI კონტროლები

ლექცია 9

Multitouch, Tap, Gestures

  • The Responder Chain
  • Touch ნოტიფიკაციები ○ Gesture Recognizers
  • UIView ანიმაციები
  • ფენების ანიმაციები (Layer ანიმაციები)
  • ტრანსფორმაციები ○ ტრანზიციები

ლექცია 10

ნოტიფიკაციები

  • ლოკალური ნოტიფიკაციები
  • Push ნოტიფიკაციები
  • ნოტიფიკაციის Handling
  • Firebase როგორც სატესტო ნოტიფიკაციის ხელფასწყო

ლექცია 11

Concurrency

  • Grand Central Dispatch (GCD)
  • სერიალური და პარალელური რიგები ○ მთავარი რიგი
  • დასასრული ბლოკები
  • ოპერაციების რიგები

ლექცია 12

სხვადასხვა

  • Networking
  • Parsing
  • NSFileManager
  • CoreLocation
  • Local Authentication ○ Contacts
  • CocoaPods

ლექცია 13

ლოკალიზაცია, ტესტები და ინსტრუმენტები

  • რესურსები
  • ენა და რეგიონი
  • NSLocale
  • Unit ტესტირება
  • UI ტესტირება
  • წარმადობის გაზომვა
  • მეხსიერების პრობლემები (Usage, Leaks)

ლექცია 14

სატესტო აპლიკაცია (part 1)

  • არქიტექტურა
  • რეპოსიტორის გამართვა
  • გიტის იმპლემენტაცია
  • სატესტო დიზაინი
  • მინი ტექნიკური ოკუმენტაცია

ლექცია 15

სატესტო აპლიკაცია (part 2)

  • დიზაინის გადატანა აპპში
  • Reusable component-ბის შექმნა
  • დიზაინის მიხედვით FLOW-ს გამართვა

ლექცია 16

სატესტო აპლიკაცია (part 3)

  • Networking, ქოლების იმპლემენტაცია
  • საბოლოო სახე
  • Testflight-ზე სატესტო ვერსიის დადება

ტრენერები

გიორგი ვაშაკიძე

გიორგი ვაშაკიძე