Kursplan
Grundleggende programmeringsbegreper
- OOPS-begreper
- Hva er en programvare
- Konseptet med organisert vs. uorganisert rom i programmering
- Hvorfor programvare
Hvorfor Apple og iOS
- Hvorfor iOS
- Historien til Apple
- iOS-historien
- Apple's USP
- Hva Apple er kjent for
- UX vs. UI
Utviklingsmiljø
- Krav til utviklingsmiljø
- Xcode og iOS SDK
- Apple Developer-registrering
- Årsaker til at applikasjoner blir avvist
- Human Interface Guidelines
Xcode iOS-prosjekter
- Oversikt over Xcode
- Opprette et iOS-prosjekt
- Kjøre på simulator og virkelige enheter
Swift grunnleggende
- Hvorfor Objective C og hvorfor nå Swift?
- Wow-faktorer i Swift
- Variabler
- Konstanter
- Hello World i Swift
- Lage UILabel med kode
Bildeanimasjon og bildeinnlasting
- UIImageView
- Grundleggende UIView og UIImageView-animasjoner
- Playground
- Lazily loading av bilder
- Lazy properties
Swift-klasser og scener
- Opprette Swift-klasser
- Minnehåndtering
- Strong og weak references
- Konstruktørtyper og destructors i Swift
- Protokoller, Hashable og Printable
- Arv
- Opprette scener
- Implementere View Controllers
- Playground
Livssyklus og responderkjede
- View livssyklus
- Applikasjonslivssyklus
- Responderkjede - touchBegan, touchMoved, etc metoder
- NSTimer
Tilpasningsdyktig layout
- Storyboards vs. XiB
- Flere enhetsstøtte
- Ikonstørrelse og enhetsorientering
- Bygging av en brukergrensesnitt ved hjelp av kode
- Outlets og handlinger
- Protokoller - krevd og valgfri
- Minnehåndtering
Varsler og lokalisering
- Push varsling - taus og push
- Lokalisering
Oversikt over Objective C
- Egenskaper
- Kategorier
- Funksjonssyntaks
- Egenskapsattributter readWrite og readOnly
Sosiale medieintegrasjon i iOS:
- Facebook-integrasjon
- Twitter-integrasjon
- E-postintegrasjon
- Integrere en tredjepartsapplikasjon
UI-komponenter i iOS:
- UITextField
- UITextView
- UISegmentControl
- UISlider
- UiSwitch
- UIProgressBar
- UIPageControl
- UIStepper
- UIScrollView
- UIPicker
- UIActionSheet
- UIWebView
- Søkefelt
Noen andre grunnleggende komponenter og annet i iOS:
- Grupper og mapper
- Closure
- Tuples
- URL Session
- URLRequest
- UIAlertView
- UIActivityIndicatorView
- internal, public, private
- Guard
- Optionals
Treding i iOS:
- GCD
- NSOperationQueue
- Hovedtråd og bakgrunnstråder
Brukervennlig interaksjon
- Knapper og håndterere
- Pan-gjesterekjennelse
- Tap-gjesterekjennelse
- Tilpasset tabellvisning
- Grunnleggende samlingsvisning
Applikasjoner med flere skjermer
- Tabellnavigering
- Tabbed-applikasjoner
- Navigeringskontrollere
- Presentere en controller og ulike animasjoner ved presentering og skyvning av kontrollere
Plasseringstjenester
- Posisjon og høyde
- Kompassretning
Enhetsadgang og lagring
- Fil-lagring
- Adgang til musikkbibliotek
- CoreData og Sqlite i iOS
- Nøkkelring
- Brukerstandarder
- PLists
- NSSearchDomain
- Mappekonsept og sikkerhet i applikasjoner NSSearchDomain
Taleframverk
- Tale til tekst
- Tekst til tale
Multipeer-framverk
- Sende data fra én enhet til en annen
- Koble flere enheter
Nettverk
- Nettverksadgang
- Serialisering og deserialisering av JSON
- REST-webtjenester
- Grunnleggende XML-parsing
Last opp app til App Store
- ITunes Connect
- Utviklerportal - Provisioning-profiler
- Distribusjon og distribusjon
- Kjøre app på virkelige enheter
- Laste opp app til App Store
Applikasjoner
- Dots Game: https://itunes.apple.com/app/the-dots-free/id850315430
- Notes app: Notes App
- Contacts App
- Hente data fra server fra en åpen API-app og lage en tabellvisning, fylle på data og vise detaljer og vise søkefelt, søk etter noe og bruke Core Data til å lagre data offline
- Applikasjon av din egen idé
Krav
Du må ha minst én erfaring med programmeringsspråk tidligere.
Referanser (3)
The way of transferring knowledge and the knowledge of the trainer.
Jakub Rekas - Bitcomp Sp. z o.o.
Kurs - Machine Learning on iOS
He's an experienced trainer with a real life experience in the topic he was teaching. That led the course to cover the most important topics which interests any developer working in the field, and small details would be easily overseen if he was not working in this platform. Moreover, he was giving the course using the latest versions of is and Swift (10 \ 3) and that is a huge advantage to be adapting such new technology in short time.
Abdullah Alaradi - Thiqah Business Services
Kurs - iPhone and iPad Development in Swift for iOS 8 and Xcode 6
Antonio gave is much background information, best practices and showed us useful tools to speed up our development process.