Cum să începeți cu competență să vă scufundați în dezvoltarea iOS și ce este necesar pentru aceasta? Dați în jur: platforme alternative de dezvoltare pentru iOS.

Profesia de programator este una dintre cele mai prestigioase și solicitate, este un fapt. În industria de dezvoltare software au nișele lor. Dintre acestea, cea cu cea mai rapidă creștere și, în același timp, cea mai bine plătită, este dezvoltarea de software pentru dispozitive mobile. După cum știți, s-a întâmplat că, lăsând concurenții mult în urmă, trei rivali constante au trecut în față. Cipul așezat în așa fel încât unul dintre acești trei să fie liderul de necontestat, cineva întotdeauna ajunge din urmă.

În segment tehnologii mobile, fără îndoială, Apple este în frunte cu smartphone-ul său iPhone. La prezentarea desfășurată în septembrie, compania din Cupertino a demonstrat deja cea de-a 7-a versiune a dispozitivului mobil. Odată cu acesta, Apple a prezentat versiune noua mobil sistem de operare iOS 10. Acum, acesta este cel mai important sistem de operare din lume, ca și predecesorii săi. Rezultă că învățarea dezvoltării iOS este cea mai bună investiție de timp și bani.

Ecosistemul „Mere”.

Astăzi vom dezvolta un simplu aplicatie de mobil pentru iOS. Desigur, Mac-ul nativ este cel mai potrivit pentru asta. Dar dacă sunteți fan Windows sau pur și simplu nu aveți un Mac, puteți instala macOS sub mașină virtuală pe Windows. În vastitatea Web-ului, nu vă va fi greu să găsiți un ascuțit special pentru PC versiunea macOS, numită popular Hackintosh. Simțiți-vă liber să îl instalați pe o mașină virtuală VMware, VirtualBox - alegerea dvs. Vă voi avertiza imediat că tastatura PC-ului nu are unele dintre tastele care se află pe tastatura Mac și multe dintre combinațiile lor nu pot fi apăsate în Hackintosh. Strica destul de mult starea de spirit. În caz contrar, toate operațiunile descrise mai jos pot fi efectuate cu succes pe Hackintosh.

Cunoștințe necesare

Pentru a programa în general și pentru iOS în special, trebuie să știi destul de multe. Matematica și logica pot să nu fie necesare la început, dar vor fi solicitate mai târziu. Tehnologii moderne a scutit programatorul de a cunoaște în detaliu arhitectura computerului, dar este necesară înțelegerea mecanismelor de bază, cum ar fi sistemele numerice, conversia lor, viteza subrutinelor sau eficiența algoritmilor (O mare).

Pentru mai mult nivel inalt Un dezvoltator iOS trebuie să aibă cunoștințe profunde despre sistemul de operare macOS și iOS însuși. De asemenea, trebuie să stăpâniți limbajul de programare „Apple”. Cunoașterea Delphi, C++, C# sau VB.NET nu te va ajuta prea mult. Apple are propriul ecosistem cu propriile sale limbaje: Objective-C și Swift. Desigur, cunoștințele despre C++ nu au făcut rău nimănui încă, programe și inserții pe acesta se găsesc peste tot, chiar și la Apple. Dar cel mai folosit prin definiție este Objective-C, pur și simplu pentru că a apărut mult mai devreme (la mijlocul anilor optzeci ai secolului trecut), în timp ce Swift a fost acum doar doi ani (în 2014). Apple are mari speranțe Limba noua; limbaj nouși investește foarte mult în el. Objective-C este folosit pentru a susține software-ul vechi, iar cel nou este scris în Swift. Așa că e bine să le cunoști pe amândouă.

Pentru a nu pierde timpul în zadar, toate aceste limbaje de programare pot fi studiate sub stricta supraveghere a profesorilor de pe site.

Instrumente de dezvoltare

După cum știți, principalul instrument de dezvoltare pentru macOS și odată cu acesta iOS este un mediu de programare xcode. Include instrumente pentru crearea de aplicații pentru Mac, iPhone, iPad, Apple TV, Apple Watch. Toate platformele Apple. Xcode conține un Interface Builder, un editor de cod care acceptă toate instrumentele moderne de codare. De asemenea, vă puteți testa aplicația fără a părăsi Xcode; dacă este conceput pentru dispozitiv extern, apoi poate fi rulat în emulator.

Sistemul include emulatori pentru toate dispozitivele, ale căror versiuni noi pot fi descărcate. În plus, Xcode conține instrumente grafice pentru analiza performanței aplicațiilor, inclusiv instrumente pentru diagnosticarea încărcării CPU, a utilizării stocării (HDD, SDD și altele), a încărcării adaptorului grafic (de la OpenGL).

13 septembrie a lansat o nouă versiune, foarte anticipată, a mediului de dezvoltare 8.0. versiuni stabile poate fi descărcat gratuit de la Magazin de aplicații. Alpha și beta sunt distribuite prin abonament al dezvoltatorului. A opta versiune a absorbit: o nouă versiune a limbajului Swift 3, instrumentul de învățare Swift Playground pentru iPad, o nouă versiune a Interface Builder, care a devenit mai rapidă și vă permite să vizualizați aspectul aplicației pe diferite platforme, fără trebuie să implementați aplicația în sine pe simulator.

Puteți dezvolta aplicații pe Xcode 8 pentru macOS Sierra, iOS 10, watchOS 3 și tvOS 10. Toate SDK-urile sunt incluse. Noile versiuni ale sistemelor de operare au început să apară secvenţial exact după Prezentări Apple a avut loc la începutul lunii septembrie.

Limbajul Objective-C

Amintiți-vă pe scurt informațiile de bază despre limbă. Objective-C este un limbaj de programare compilat orientat pe obiecte folosit pentru a scrie aplicații pentru sistemele „Apple”. Este un superset sau, cu alte cuvinte, un add-on peste C, moștenind de la acesta din urmă sintaxa, tipurile de date, modalitățile de control al progresului programului și adăugându-i caracteristicile programării orientate pe obiecte - o descriere a clase si metode.

Ca și în C++, obiectele joacă un rol central în Objective-C, cu care sunt asociate patru paradigme: abstractizare, încapsulare, moștenire și polimorfism. C++ este puternic tipizat, în timp ce Objective-C este slab tipat sau are un sistem de tip de date dinamic. La fel ca Smalltalk, mesajele sunt trimise către obiecte din Objective-C. Aceasta este o caracteristică unică a limbajelor dinamice, deoarece tipul de obiecte este verificat în timpul rulării, nu în timpul compilării.

Descrierea limbajului Objective-C ocupă mai mult de un volum voluminos. Prin urmare, pentru a obține cunoștințe obiective, este convenabil să urmați cursul „”. O întreagă secțiune a cursului este dedicată acestei limbi.

Dezvoltarea aplicației iOS

Ca exemplu, vom dezvolta o aplicație foarte simplă. Să nu ne abatem de la tradiția sacră, să salutăm lumea. Totuși, având în vedere că avem o aplicație grafică, o vom diversifica puțin: vom adăuga un buton, prin apăsarea căruia vom afișa sau ascunde inscripția „Hello, World”.

Lansați Xcode, în fereastra care apare, selectați Creare proiect nou sau în meniul principal Fișier -> Nou -> Proiect. Următoarea fereastră vă va solicita să selectați platforma țintă și tipul de aplicație.



În acest caz, ne interesează platforma iOS. Există șapte tipuri de aplicații din care puteți alege. Șase dintre ele sunt stub-uri ale aplicațiilor tipice iOS, care conțin un set diferit de componente în mod implicit. Al șaptelea tip este jocul.

Tipuri de aplicații

  • Spațiul gol al aplicației Single View este destinat aplicare simplă cu un singur ecran. Stub-ul include o componentă View Controller care vă permite să personalizați aspectul aplicației dvs. utilizând designerul de formulare Interface Builder.
  • Aplicația Master Detail creează o aplicație care afișează o colecție de obiecte într-o vizualizare de tabel. Selectarea unuia dintre ele afișează informații detaliate despre acel obiect. Prima vedere este principala, a doua este detalierea.
  • Cu aplicația bazată pe pagină, sunt create aplicații care au mai multe ecrane, cum ar fi paginile dintr-o carte. Prin urmare, din acest gol, de exemplu, sunt creați cititori.
  • Aplicația cu file vă permite să creați aplicații în care puteți comuta oricând la fiecare ecran, adică fiecare ecran are propriul buton pentru a-l activa, care afișează titlul. Un exemplu este iTunes.
  • Jocul este folosit pentru a crea un joc gol. Există patru cadre din care puteți alege pentru a crea un joc: SpriteKit, SceneKit, OpenGL ES, Metal. Să le luăm în considerare pe scurt.
    SpriteKit este un sistem de randare și animație 2D pentru dreptunghiuri texturate numite sprites. La afișarea cadrelor, se folosește un ciclu standard, cadrul este afișat după ce procesarea a trecut de tot conținutul scenei.
    SceneKit este un cadru de nivel înalt pentru redarea graficelor 3D fără ajutorul OpenGL. Acceptă încărcarea, manipularea obiectelor 3D. Include: un motor de fizică, un generator de particule și o modalitate ușoară de scriptare.
    OpenGL ES este standardul industriei grafica pe computer. Vă permite să vizualizați scene 2D și 3D. Vă permite să descrieți o conductă pentru o placă video: vârfurile sunt transformate, asamblate în primitive, care sunt rasterizate într-o imagine bidimensională și afișate pe ecran. Puteți include shadere programabile în conductă.
    Metal - este un API de nivel scăzut care vă va permite să stoarceți toată puterea adaptorului dvs. video. API-urile ajustate, împreună cu shaderele precompilate și multi-threading-ul permit jocului dvs. să se ridice la un nou nivel de performanță și calitate.
  • Aplicație pachet de autocolante- noul fel aplicații introduse în iOS 10 și Xcode 8. Acesta este un set de imagini simple sau animate utilizate în noul iMessage. Nu necesită codificare pentru a crea.
  • Aplicația iMessage este un nou tip de aplicație introdus în iOS 10 și Xcode 8. Vă permite să creați suplimente pentru iMessage, cum ar fi cumpărarea și descărcarea pachetului de stickere. De asemenea, puteți utiliza API-ul iMessage pentru a vă crea propriul analog al acestei aplicații, inclusiv redarea audio, video, utilizarea autocolantelor și multe altele.

Creează primul tău proiect

Ca un gol pentru aplicația noastră, vom alege aplicația cu vizualizare unică. Deoarece nu vom dezvolta un program mare, fondurile oferite de acest blank ne vor fi suficiente. Faceți clic pe Următorul. Pe pagina următoare a expertului, introduceți numele proiectului, de exemplu ShowLab. În lista derulantă Limbă, lăsați limba implicită - Objective-C. Apoi, în lista derulantă Dispozitive, părăsiți selecția Universală. Aceasta definește pentru ce dispozitiv (iPhone sau iPad) este creată aplicația. Item Universal înseamnă pentru amândoi. Să debifăm casetele Include Unit Tests și Include UI Tests, nu avem nevoie de teste. Următorul. Selectați un folder pentru a salva proiectul. Acum apăsați butonul Creare.

Ca rezultat, se va deschide o fereastră cu o listă cu toți parametrii aplicați proiectului. În această fereastră, puteți modifica parametrii setați mai devreme în asistent: orientare, dispozitiv țintă și așa mai departe.



Mai întâi trebuie să creăm interfața aplicației. Pentru a face acest lucru, selectați fișierul Main.storyboard din lista din stânga cu un singur clic (dacă acest fișier nu este vizibil, extindeți conținutul folderului ShowLab). În dreapta listei, întreaga fereastră va fi ocupată de Interface Builder. Aspectul dispozitivului va fi afișat în centru. În colțul din dreapta jos al ferestrei se află panoul de componente. Trageți componentele Etichetă și Buton de acolo în aspect. Deasupra panoului de componente este o listă de proprietăți. Dacă nu îl aveți, faceți clic pe butonul Afișați inspectorul de atribute situat sub titlul ferestrei din partea dreaptă a interfeței.

Selectați componenta Etichetă în aspect și setați-i proprietatea Text: lăsați selecția Plain în lista derulantă, introduceți inscripția dorită în rândul de mai jos, în cazul nostru „Hello, World”. Dacă textul nu se încadrează în limitele etichetei, modificați-le trăgând mânerele de pe marginile componentei. Pentru a-l centra pe orizontală, accesați pagina Inspector dimensiune făcând clic pe butonul Afișați inspector dimensiune (în dreapta Afișați inspectorul atribute). Pe această pagină, din lista derulantă Aranjare, selectați Centrare orizontal în container.

Acum selectați componenta Button, schimbați proprietatea Text la eticheta dorită - Comutare. Puteți centra în același mod ca cel descris mai sus.

Creăm o legătură între elementele grafice și cod

În Visual Studio (sau Delphi), un obiect este creat automat în cod în momentul în care plasați o componentă vizuală pe un formular. Acest lucru nu se întâmplă în Xcode, dar nu reprezintă o problemă.

Deschideți conținutul fișierului antet ViewController.h într-o fereastră separată făcând dublu clic pe acesta. Acest fișier conține declarația extensiei de clasă UIViewController, marcată cu cuvântul cheie @interface. Această caracteristică a fost adăugată la a doua versiune a Objective-C. Acum efectuați acest truc: mutați cursorul mouse-ului peste componentă - o etichetă text, țineți apăsată tasta Ctrl și butonul din stanga soareci. Mutați cursorul în fereastra cu codul (fișier ViewController.h), o linie albastră va urma cursorul. Eliberați mouse-ul și tasta în descrierea interfeței ViewController.

Va apărea fereastra de creare a Prizei.



Aceasta este o proprietate a unui obiect care se referă la un alt obiect (în acest caz, o componentă vizuală). Trebuie să introduceți numele obiectului Outlet, îl veți folosi pentru a accesa componenta vizuală, să fie lab. În continuare, se selectează tipul de obiect, acesta este selectat corect: UILabel.

Chiar mai jos în lista Stocare, este selectat tipul de referință de obiect: slab sau puternic. Dacă este selectat puternic, atunci obiectul indicat de proprietate va exista atâta timp cât proprietatea indică către el, caz în care nu poate fi șters automat când nu mai este utilizat. Pe de altă parte, atunci când o referință slabă (slabă) este în vigoare, obiectul se poate autodistruge. Deci, selectați tipul de legătură slabă și faceți clic pe butonul Conectare. Ca rezultat, următoarea linie va fi adăugată la cod:

@proprietate (slab, neatomic) IBOutlet UILabel *lab;

Ne asigurăm că Outlet este o proprietate.

Acum să creăm o priză pentru buton. Algoritmul rămâne același. Numai pentru proprietatea Nume, trebuie să introduceți un alt nume, cum ar fi but. Linia va fi adăugată la cod:

@proprietate (slab, neatomic) IBOutlet UIButton *dar;

Ca urmare, avem două indicatoare către componentele vizuale: lab și dar - respectiv, inscripția și butonul. Acum, folosind pointeri, putem manipula componentele din cod.

Apoi trebuie să creăm un handler de evenimente cu clic pe buton. Pentru a face acest lucru, deschideți fișierul de implementare ViewController.m într-o fereastră separată. Exact în același mod în care ați tras linia în fișierul antet pentru a crea priza, de la buton, trageți linia în fișierul de implementare și plasați-o în paranteza de închidere a comenzii - @end. Va apărea o fereastră pentru crearea unui eveniment, similară cu fereastra pentru crearea unui priză. Puteți vedea diferența: o legătură către un obiect este creată în fișierul antet, o metodă este creată în fișierul de implementare.



Completați câmpul Nume, valoarea acestuia reprezintă numele proprietății - metodă. Lasă-l să fie onClick. Lăsați valoarea câmpului Tip în mod implicit - id. În Objective-C, acest tip este strămoșul tuturor celorlalți. În lista derulantă Eveniment, este selectat implicit evenimentul Touch Up Inside, care are loc atunci când indicatorul (mouse, deget...) este eliberat peste buton, adică etapa finală de apăsare a butonului. De asta avem nevoie. În lista Argumente, să lăsăm valoarea implicită: Sender este obiectul care a trimis acest semnal, în cazul nostru va fi întotdeauna un buton. Faceți clic pe butonul Conectare. Ca urmare, următorul cod va fi adăugat:

- (IBAction)onClick:(id)sender ( )

Minusul de la început înseamnă o metodă închisă (privată). cuvânt cheie Evenimentele IBAaction (metode) ale componentelor vizuale din Interface Builder sunt marcate.

Între parantezele comenzii, scrieți codul care se execută la apăsarea butonului:

lab.hidden = !_lab.hidden;

În această linie de cod, inversăm valoarea proprietății ascunse. Este de tip BOOL, care are două valori: YES - true și NO - false (oarecum neobișnuit pentru programatorii Windows, unde adevărat și fals).

Acordați atenție caracterului de subliniere din fața numelui obiectului - etichete (_lab). Fără el, compilarea va eșua. Caracterul de subliniere este adăugat automat pentru obiectele conținute în alte obiecte; adică, în acest caz, obiectul de laborator este conținut în obiectul ViewController. Era o regulă condiționată folosită pentru a face distincția între obiectele declarate ca membri ai unei clase și obiectele locale. Și acum aceasta este o regulă strictă implementată în compilatorul de limbă.

Acum puteți compila aplicația și o puteți rula pe simulator. Am ales simulatorul iPhone 7 inclus cu Xcode 8. Butonul de compilare și rulare este un dreptunghi negru și se află pe bara din partea de sus a interfeței.

După compilarea aplicației, lansarea simulatorului și încărcarea aplicației noastre, interfața acesteia va fi afișată pe ecranul simulatorului: inscripția „Hello, World” și butonul Switch. Dacă apăsați pe ultimul, inscripția va dispărea, când o apăsați din nou, va apărea din nou.

Am realizat o aplicație foarte simplă pentru a înțelege esența dezvoltării pentru iOS. Puteți afla mai multe despre crearea aplicațiilor iOS în Objective-C din cursul prietenilor noștri de la GeekBrains „”. Cursul durează două luni pentru a învăța această limbă. În prima lună - subiecte introductive, iar pe a doua - codificare reală a aplicațiilor profesionale.

Limbă rapidă

În 2014, Apple a introdus un nou limbaj de programare - Swift. A devenit rapid cea mai discutată și cea mai dinamică limbă din lume. Este un limbaj de încredere, sigur, intuitiv pentru dezvoltarea aplicațiilor pentru sistemele de operare macOS, iOS, tvOS și watchOS pentru întreaga flotă de dispozitive Apple. Swift este un limbaj de programare eficient. Este mai ușor de învățat decât predecesorul său, Objective-C, în timp ce, în același timp, Swift a împrumutat unele dintre cele mai bune idei de la acesta. În același timp, dezvoltatorii au făcut limbajele compatibile, adică un program poate avea cod atât în ​​Swift, cât și în Objective-C. Există miliarde de linii de cod în lume și sute de mii de programe vechi scrise în Objective-C, așa că suportul acestuia nu va fi cu siguranță abandonat.

La dezvoltarea Swift, scopul a fost de a crea cel mai convenabil limbaj de programare de sistem - rapid, sigur și expresiv.

Algoritmul din Swift este de 2,6 ori mai rapid decât același algoritm din Objective-C și de 8,4 ori mai rapid decât în ​​Python. Utilizarea Swift face ca procesul de dezvoltare a programelor să fie mai flexibil și mai convenabil.

Datorită dezvoltării sale exponențiale, pe 3 decembrie 2015, limbajul Swift a fost lansat comunității open source. În același timp, Apple își monitorizează cu strictețe dezvoltarea prin organizarea unui comitet care să o dezvolte. Acum Swift este disponibil nu numai pe sistemele Apple, ci și pe Linux. Toate instrumentele suplimentare pentru lucrul cu limbajul, inclusiv depanatorul, biblioteca standard, managerul de pachete, sunt, de asemenea, gratuite și deschise.

Această limbă este viitorul. Puteți afla informații mai detaliate despre acesta din cursul menționat de la GeekBrains „”, în care o lună întreagă este alocată studiului limba dată programare.

Magazin de aplicații

Mai simplu spus, App Store este un magazin de conținut pentru întreaga gamă de dispozitive Apple. Aici puteți cumpăra jocuri și aplicații atât de la companii mari, cât și de la dezvoltatori independenți. Fiecare dezvoltator, indiferent în ce țară locuiește, își poate vinde sau distribui gratuit programele pe această platformă de distribuție digitală. Pentru a începe să faceți acest lucru, trebuie să vă înregistrați ca dezvoltator și să cumpărați o licență pentru a vă vinde aplicațiile. Aceasta este o taxă pentru serviciul oferit și dezvoltarea App Store.

Rezultate

Am dezvoltat o aplicație simplă pentru sistemul de operare mobil iOS folosind sistemul de programare Xcode împreună cu limbajul Objective-C. Am testat aplicația finalizată pe simulatorul iPhone 7. Am învățat cum să construim o interfață cu utilizatorul folosind Interface Builder, cum să asociem elemente grafice cu codul aplicației, cum să creăm handlere de evenimente. Ne-am familiarizat cu elementele de bază ale Objective-C. În plus, am observat limbajul promițător Swift folosit pentru a dezvolta aplicații puternice și sigure pentru ecosistemul „măr”.

Cu toate acestea, materialul studiat este doar începutul. Pentru a pompa intens în direcția codării mobile și a dezvoltării aplicațiilor din lumea reală, vă recomandăm să urmați cursul „” pe site-ul prietenilor noștri.

Acesta este un curs demn: după ce îl treci, cu siguranță nu vei pierde timpul în zadar. Începe cu două cursuri detaliate în limbajul Java, urmate de un studiu de programare de bază pentru un sistem de operare mobil. sistem Android. În continuare, un curs despre bazele de date în general și Limbajul SQLîn special. Apoi un curs avansat despre dezvoltarea aplicațiilor profesionale Android. După aceea, vectorul de învățare se va muta către sistemele Apple: două cursuri detaliate despre limbajul Objective-C și un curs util despre Swift.



Prelegerile cursului sunt predate de profesori profesioniști cu o vastă experiență în dezvoltarea de software. Dacă ceva nu este clar, puteți pune o întrebare fără întârziere. În general, învățarea pe GeekBrains este un proces viu, poți să comunici, să pui întrebări, să ajuți cu răspunsuri. Pentru a testa cunoștințele dobândite, profesorii dau teme pentru acasă, care sunt apoi verificate. După finalizarea instruirii, veți primi un stagiu garantat într-o companie IT. Și atunci totul depinde de tine, dacă te arăți ca un specialist competent, vei fi invitat să lucrezi.

Proiect special cu firma

Introducere

Începeți să vă dezvoltați aplicații iOS azi.

Crearea de aplicații iOS este distractivă și plină de satisfacții, dar dacă sunteți nou în dezvoltare, probabil vă întrebați de unde să începeți. Acest ghid este un punct de plecare excelent pentru dezvoltarea aplicației iOS. Cu Mac-ul tău, poți crea aplicații iOS pentru iPad, iPhone și iPod touch. Urmând acest ghid, veți afla de unde să obțineți instrumentele necesare pentru job, veți afla conceptele de bază și moduri mai bune implementări, precum și legături către resurse suplimentare.

Pe tot parcursul tutorialului, veți folosi Xcode și iOS SDK, instrumentele pentru dezvoltatori Apple. Vă veți familiariza cu elementele de bază ale programării în Objective-C, limbajul principal al tuturor aplicațiilor și cadrelor iOS și cadrelor Cocoa Touch. Veți crea propria dvs. aplicație simplă iOS și veți învăța cum să o testați pe dispozitive. La final, vom vorbi despre cum să trimiteți o cerere în App Store.

Fiecare pagină a acestui manual se concentrează pe un subiect nou și conține link-uri către articole conexe. Acest ghid acoperă doar cunoștințele de bază, pe ultima pagina veți găsi o secțiune care include link-uri către documente cu informații pe această temă. După ce vă familiarizați cu această instrucțiune, un fel de hartă, veți putea să vă aprofundați în studiul oricărui subiect anume. Veți avea în mâini toate instrumentele, cunoștințele și abilitățile necesare pentru a crea aplicații pentru iOS!

Instalarea instrumentelor

Când dezvoltați aplicații, utilizați kitul pentru dezvoltatori iOS, așa-numitul SDK, precum și Xcode, mediul de dezvoltare integrat (IDE) al Apple. Xcode oferă tot ce aveți nevoie pentru a dezvolta iPhone-uri, iPad-uri și iPod Touch aplicatii. Printre instrumente există un editor de cod, editor grafic interfața cu utilizatorulși multe alte bunătăți, de la versiuni personalizate până la gestionarea depozitelor de cod.

Xcode folosește o singură fereastră de spațiu de lucru - fereastra biroului, care conține majoritatea datelor de care aveți nevoie. Cu Xcode, puteți trece cu ușurință de la scrierea codului la depanare la dezvoltarea unei interfețe cu utilizatorul, totul într-o singură fereastră de lucru. SDK-ul iOS extinde constant setul de instrumente Xcode cu compilatoarele și cadrele de care aveți nevoie pentru a lucra cu iOS.

Pentru a începe, veți avea nevoie de:

1. Descarca ultima versiune Xcode.

Deschis aplicația Stocați pe Mac, utilizați căutarea pentru a găsi Xcode și faceți clic pe butonul Free pentru a descărca Xcode. Când descărcați Xcode, descărcați și SDK-ul iOS. (App Store este instalat pe Mac OS X versiunea 10.7 și ulterioară. Dacă aveți o versiune anterioară de Mac OS X, va trebui să o actualizați.)

Nu trebuie să vă înregistrați pentru a crea și testa aplicații în Simulator. Cu toate acestea, va trebui să vă înregistrați pentru a testa aplicațiile pe dispozitivele iOS și a le distribui. Înregistrarea vă oferă acces deplin la Centrul pentru dezvoltatori iOS și Portal setări iOS. Dacă vă înregistrați acum, veți putea urma toți pașii din acest ghid, inclusiv testarea aplicației pe dispozitiv.

De la fața locului - până la carieră!

Pentru a crea o aplicație mare pentru iOS, trebuie să știi o mulțime de lucruri, dar cu instrumentele și iOS SDK, crearea și rularea aplicațiilor este destul de simplă. Ghidul pentru prima aplicație iOS vă prezintă instrumentele, șabloanele de bază și procesul de dezvoltare a aplicațiilor în sine. În acest tutorial, veți crea o aplicație simplă în care utilizatorul poate introduce text și acesta va fi afișat pe ecranul dispozitivului. De asemenea, veți învăța cum să rulați aplicația în Simulator pe Mac. Explicațiile simple, pas cu pas din acest ghid oferă concepte organizate și utile pe care le veți folosi mai târziu în dezvoltarea aplicației.

„Prima ta aplicație iOS”- cel mai lung articol din acest ghid, dar nu te grăbi! Aceste informații sunt cele care pun bazele conceptelor despre care veți afla mai multe mai târziu. Fiecare articol următor se oprește în detaliu asupra unuia dintre aceste concepte.

Acest ghid vă va învăța cum să:

  • Cum să utilizați Xcode pentru a crea și gestiona un proiect
  • Cum să identifici părțile cheie ale unui proiect Xcode
  • Cum să creați și să rulați aplicația pe simulatorul iOS
  • Cum se creează o interfață de utilizator standard în storyboard
  • Cum să previzualizați interfața
  • Cum să utilizați Aspectul automat pentru a adăuga flexibilitate interfeței

După ce finalizați acest tutorial, veți avea o aplicație similară cu cea din imagine:

Acest tutorial folosește Xcode 6.1.1 și iOS SDK 8.1 dacă utilizați alte versiuni, este posibil să aveți unele diferențe.

Crearea unui nou proiect

Xcode include mai multe elemente încorporate șabloane, pe care îl puteți folosi pentru a dezvolta tipuri obișnuite de aplicații iOS, cum ar fi jocuri, aplicații cu navigare cu file și aplicații de date tabulare. Cele mai multe dintre aceste șabloane vin cu o interfață preconfigurată și fișiere de cod sursă. În acest tutorial, veți începe cu cel mai simplu șablon: aplicație cu o singură vedere.

Lucrul cu șablonul Aplicație cu vizualizare unică vă va ajuta să înțelegeți structura de bază a unei aplicații iOS și modul în care conținutul ajunge pe ecran. Odată ce știi cum funcționează totul, poți folosi unul dintre celelalte șabloane pentru propria ta aplicație.

Pentru a crea un nou proiect:

  1. Deschideți Xcode din director Aplicații

Va apărea fereastra de bun venit Xcode


Dacă apare fereastra de proiect în loc de fereastră de bun venit, nu vă faceți griji, este posibil să fi creat sau deschis un proiect în Xcode înainte. Folosiți următorul element de meniu pentru a crea un proiect.

2. În fereastra Bun venit, faceți clic pe „Creați un nou proiect Xcode” (sau selectați Fișier > Nou > Proiect).

Xcode va deschide o nouă fereastră și va afișa un dialog în care puteți selecta un șablon.


3. În secțiunea iOS din partea stângă a casetei de dialog, selectați Aplicație.

4. În zona principală a dialogului, faceți clic aplicație cu o singură vedere iar după clic Mai departe.

5. În caseta de dialog care apare, denumește aplicația și selectează opțiuni suplimentare pentru proiectul tău.


Utilizați următoarele valori:

  • Numele produsului: ToDoList

Xcode folosește numele produsului ca nume al proiectului și al aplicației dvs.

  • Numele organizației: numele companiei dvs. sau propriul dvs. nume. Acest câmp poate fi lăsat necompletat.
  • Identificatorul organizației: ID-ul companiei dvs., dacă există. Dacă nu, atunci folosește com.exemplu.
  • Identificator de pachet: această valoare va fi generată automat pe baza numelui produsului și a identificatorului organizației.
  • Limbaj: Obiectiv-C
  • Dispozitive: universale

Aplicația Universal este o aplicație care poate rula atât pe iPhone, cât și pe iPad.

  • Utilizați datele de bază: lăsați nebifat.

7. În caseta de dialog care apare, selectați unde va fi salvat proiectul și faceți clic pe Creare.

Xcode va deschide noul dvs. proiect într-o fereastră (această fereastră se numește fereastra spațiului de lucru) care va arăta astfel:


Este posibil să primiți un mesaj de eroare care spune „Nu a fost găsită nicio identitate de semnătură”. Acest avertisment înseamnă că nu ați configurat Xcode pentru Dezvoltare iOS, dar puteți finaliza acest ghid fără el. La sfârșitul documentului, veți găsi un link către un ghid care vă va ajuta să configurați Xcode și să continuați dezvoltarea iOS.

Introducere în Xcode

Xcode conține tot ce aveți nevoie pentru a crea o aplicație. Nu numai că organizează fișierele care apar în timpul procesului de creare a unei aplicații, Xcode oferă editori pentru cod și elemente de interfață, vă permite să vă construiți și să rulați aplicația și conține un depanator puternic integrat.

Încă câteva cuvinte pentru a vă prezenta spațiul de lucru Xcode. Veți folosi controalele prezentate mai jos pe parcursul acestui ghid. Apăsați diferite butoane pentru a înțelege cum funcționează. Dacă doriți să aflați mai multe despre interfață, citiți articole suplimentare pentru aceasta, pe care le veți găsi făcând clic pe o zonă din Xcode în timp ce țineți apăsat CTRLl și selectând un articol din meniul de comenzi rapide care apare.


Lansarea simulatorului iOS

Deoarece proiectul dvs. se bazează pe un șablon Xcode, mediul de bază al aplicației este configurat automat pentru dvs. Chiar dacă nu ați scris o singură linie de cod, puteți construi și rula șablonul Aplicație cu vizualizare unică fără nicio configurație suplimentară.

Pentru a construi și a rula aplicația dvs., utilizați iOS Simulator aplicație care este încorporată în Xcode. După cum sugerează și numele, Simulatorul iOS vă permite să vedeți cum va arăta și se va comporta aplicația dvs. dacă o rulăm pe un dispozitiv iOS.

Simulatorul iOS poate simula tipuri diferite dispozitive iPhone, iPad cu diferite dimensiuni de ecran etc. Drept urmare, vă puteți simula aplicația pe fiecare dispozitiv pentru care dezvoltați. Acest ghid folosește .

Pentru a rula o aplicație în Simulatorul iOS

  1. Asigurați-vă că iPhone 6 este selectat din meniul pop-up Sistem» în panoul Xcode.


Fă-ți timp și caută în meniu pentru a vedea ce alte opțiuni de dispozitiv sunt disponibile pe Simulatorul iOS.

2. Faceți clic pe butonul Lansare situat în colțul din stânga sus al panoului Xcode.

De asemenea, puteți alege Produs > Run(sau apăsați Comanda-R). Dacă este prima dată când rulați o aplicație, Xcode vă va întreba dacă doriți să activați Modul Design pe Mac. Modul de dezvoltare permite Xcode să acceseze anumite funcții de depanare fără a fi nevoie să vă introduceți parola de fiecare dată. Decideți dacă doriți să activați modul de dezvoltare și urmați instrucțiunile. Dacă alegeți să nu o activați, vi se va cere o parolă mai târziu. În manual, modul de dezvoltare este permis.

3. Uitați-vă la bara de instrumente Xcode când procesul de construire este finalizat.

Xcode va afișa mesaje privind progresul construcției în panoul de vizualizare sarcini active, care se află în mijlocul barei de instrumente.

Simulatorul iOS se va lansa automat după ce Xcode a terminat de construit proiectul dvs. Acest lucru poate dura câteva minute la prima lansare.

Simulatorul iOS se va deschide în modul iPhone așa cum ați specificat. Simulatorul vă va afișa aplicația pe un ecran virtual de iPhone. Înainte ca aplicația să se lanseze complet, veți vedea numele aplicației dvs. ToDoList pe ecranul de lansare.

După, ar trebui să vezi ceva de genul acesta:

În acest moment, șablonul Aplicație cu vizualizare unică nu face aproape nimic, doar arată Ecran alb. Alte șabloane au un comportament mai complex. Este foarte important să înțelegeți scopul șabloanelor înainte de a decide să le utilizați pentru a crea o aplicație. Rularea aplicației pe Simulatorul iOS fără modificări este cea mai bună modalitate de a înțelege dezvoltarea acesteia.

Închideți simulatorul iOS selectând iOS Simulator > Părăsiți iOS Simulator(sau făcând clic Comanda-Q)

Revizuirea codului sursă

Șablonul Aplicație cu vizualizare unică conține mai multe fișiere de cod sursă care configurează mediul aplicației. Cea mai mare parte a muncii este realizată de funcție UIApplicationMain care este apelat automat în proiectul dvs. în fișierul sursă principal.m. Funcţie UIApplicationMain creează un obiect aplicație care configurează infrastructura pentru ca aplicația dvs. să funcționeze cu sistemul iOS. Aceasta include crearea ciclu de rulare, care furnizează evenimente de intrare în aplicația dvs. Nu trebuie să lucrați cu codul sursă principal.m direct, dar este important să înțelegeți cum funcționează.

Să ne uităm la fișierul sursă main.m

  1. Asigurați-vă că navigatorul de proiect este deschis în panoul de navigare.

Navigator de proiect afișează toate fișierele din proiectul dvs. Dacă navigatorul de proiect nu este deschis, faceți clic pe butonul din stânga din bara de comutare de navigare. (Sau deschideți-l făcând clic Vizualizare > Navigatoare > Afișare Navigator proiect.)


2. Deschide catalogul Fișiere suportîn navigatorul de proiect făcând clic pe triunghiul de lângă acesta.

3. Alegeți principal.m.

Xcode va deschide fișierul sursă în zona principală de editare, ca în imagine:


Sau puteți face dublu clic pe fișier principal.m pentru a-l deschide într-o fereastră separată.

fișier main.m și funcția UIApplicationMain

Funcţie principalîn principal.m apelează o funcție UIApplicationMainîn interiorul piscinei cu eliberare automată

  1. @autoreleasepool(
  2. returnUIApplicationMain(argc, argv, nil, NSStringFromClass());

Operator @autoreleasepool aici pentru gestionarea memoriei în aplicația dvs. Numărarea automată a referințelor (ARC) simplifică gestionarea memoriei, lăsând compilatorului să facă munca de a urmări cine deține un obiect. @autoreleasepool face parte din infrastructura de gestionare a memoriei.

Apel UIApplicationMain creează 2 componente inițiale importante ale aplicației dvs.:

  • O instanță a clasei UIApplication, numită obiect de aplicație.

Obiectul aplicație gestionează bucla de evenimente și coordonează alte comportamente de nivel înalt ale aplicației. Această clasă este definită în cadrul UIKit și nu necesită să scrieți niciun cod suplimentar pentru a o face să funcționeze.

  • instanță de clasă XYZAppDelegate, numit delegat de aplicare.

Xcode generează această clasă pentru dvs. ca parte a creării șablonului Aplicație cu vizualizare unică. Delegatul aplicației creează o fereastră în care este desenat conținutul aplicației și oferă un loc pentru a răspunde la schimbările în starea aplicației. Aici scrieți codul. Ca toate clasele, clasa XYZAppDelegate definit în două fișiere din aplicația dvs.: în fișierul de interfață XYZAppDelegate.h, și în dosarul de implementare XYZAppDelegate.m.

Când aplicația dvs. pornește, obiectul apelează anumite metode la delegat, dând codului dvs. șansa de a-și face treaba. Atunci se execută comportamentul aplicației.

Fișier sursă delegat al aplicației

Pentru o înțelegere mai profundă a rolului unui delegat al aplicației, consultați fișierele sursă, AppDelegate.h(fișier de interfață) și AppDelegate.m(dosar de implementare). Pentru a vizualiza fișierul interfeței delegatului, selectați AppDelegate.hîn navigatorul de proiect. Interfața delegatului aplicației conține o singură proprietate: fereastră. Cu această proprietate, delegatul aplicației ține evidența ferestrei în care este scris tot conținutul aplicației dvs.

Apoi uitați-vă la fișierul de implementare a delegatului aplicației. Pentru a face acest lucru, selectați AppDelegate.mîn navigatorul de proiect. Implementarea delegatului de aplicație conține „schelete” de metode importante. Aceste metode predefinite permit unui obiect să comunice cu un delegat. La momentul unui eveniment important de rulare, cum ar fi pornirea aplicației, avertismentul de utilizare a memoriei și terminarea aplicației, obiectul aplicației invocă metoda adecvată în delegatul aplicației, oferindu-i șansa de a reacționa corespunzător. Nu trebuie să faceți nimic special pentru a vă asigura că aceste metode sunt apelate la momentul potrivit - obiectul aplicației se ocupă de acea parte a lucrării.

Fiecare dintre aceste metode implementate automat are un comportament implicit. Dacă lăsați „scheletul” de implementare gol sau eliminați-l din dvs AppDelegate.m fișier, veți obține comportamentul implicit ori de câte ori aceste metode sunt apelate. Utilizați aceste „schelete” pentru a adăuga cod care va fi executat atunci când metoda este apelată. În acest tutorial, nu trebuie să utilizați niciun cod special, așa că nu trebuie să faceți modificări fișierului. AppDelegate.m.

Deschidere storyboard

Pe acest moment acum sunteți gata să creați un Storyboard pentru aplicația dvs. Storyboard este o reprezentare vizuală a interfeței cu utilizatorul unei aplicații care afișează ecrane de conținut și tranziții între ele. Folosiți Storyboard-uri pentru a descrie secvența de vizualizări.

Pentru a deschide storyboard-ul aveți nevoie de:

  • În navigatorul de proiect, selectați Main.storyboard.

Xcode va deschide storyboard-ul în Interfață Constructor- în editorul de interfață vizuală, în zona de editare. Tot ce vezi în fereastra este Spațiul de lucru. Aici adăugați și plasați elemente de interfață.

Storyboard-ul aplicației dvs. ar trebui să arate astfel:


În această etapă, storyboard-ul din aplicația dvs. conține doar unul scenă, care afișează ecranul de conținut. Săgeata din partea stângă a scenei este indicator al etapei principale, ceea ce înseamnă că este încărcat mai întâi în timpul pornirii aplicației. În acest moment, scena pe care o vedeți conține o vizualizare, care este controlată de un controler de vizualizare. Veți afla mai multe despre rolul vizualizărilor și controlerelor de vizualizare după acest tutorial.

Când rulați aplicația pe Simulatorul iOS, primul lucru pe care îl veți vedea pe ecran este vizualizarea adăugată scenei. Dar, când te uiți la scena care se află pe scenă, vei observa că nu are o dimensiune exactă. ecran iPhone 6. Acest lucru se datorează faptului că scena are o interfață de afișare comună care poate fi aplicată pe orice dispozitiv cu orice orientare a ecranului. Utilizați această funcție pentru a crea Adaptabil O interfață care poate ajusta automat contextul de afișare în funcție de dispozitiv și orientare. Veți afla mai multe despre cum să vă faceți interfața receptivă în scurt timp.

Construirea interfeței de bază

Acum este timpul să construiți interfața de bază pentru scenă, care vă va permite să adăugați un nou articol la lista de activități.

Xcode oferă o bibliotecă de obiecte pe care o puteți adăuga la storyboard. Unele dintre aceste obiecte sunt elemente de interfață care fac parte din vizualizare, cum ar fi butoanele și câmpurile de text. Și altele, precum controlerele de vizualizare și recunoașterea gesturilor, care definesc comportamentul aplicației și nu sunt vizibile pe ecran.

Pentru a adăuga un articol la lista de activități, aveți nevoie de o casetă de text, un element de interfață care permite utilizatorului să introducă linii în text.

Pentru a adăuga un câmp de text la scena dvs.:

  1. Deschideți Biblioteca de obiecte.

Track Library de obiecte va apărea în partea de jos a zonei utilitare. Dacă nu vedeți Biblioteca, faceți clic pe al treilea buton din stânga pe panoul de comutare a bibliotecii. (De asemenea, îl puteți afișa selectând Vizualizare > Utilități > Afișare bibliotecă de obiecte.)

Lista derulată afișează numele fiecărui obiect, descrierea și imaginea vizuală.

2. În Biblioteca de obiecte, tastați câmpul de filtru câmp de text pentru a găsi mai rapid obiectele TextBox.

3. Trageți obiectul Text Box din listă pe scena dvs.


Dacă este necesar, puteți mări imaginea selectând Editor > Pânză > Zoom.

4. Trageți caseta de text astfel încât centrul casetei să fie în mijlocul ghidajului vertical și plasat în partea stângă a ecranului.

Nu mai trageți când vedeți ceva de genul acesta:


Ghidul albastru vă ajută să poziționați caseta de text. Este vizibil doar când trageți sau redimensionați obiectul, ghidul dispare când eliberați câmpul de text.

5. Dacă este necesar, faceți clic pe caseta de text pentru a evidenția și a redimensiona.

Tu redimensiona interfața de utilizare a elementului trăgând mânerul de redimensionare, care arată ca un mic pătrat alb care apare pe marginea elementului. Le faceți vizibile evidențiind elementul. În acest caz, câmpul de text ar trebui să fie deja selectat, deoarece tocmai ați oprit mutarea obiectului. Dacă caseta dvs. de text arată ca imaginea, atunci este gata să fie redimensionată, dacă nu este, selectați-o.


6. Schimbați poziția marginilor din stânga și din dreapta ale câmpului de text până când vedeți trei ghidaje verticale.

Nu mai redimensionați când vedeți ceva de genul acesta:


Chiar dacă aveți un câmp de text în scena dvs., nu există îndrumări pentru utilizator cu privire la ce să introducă în acest câmp. Utilizați textul substituent al câmpului de text ca un indiciu pentru utilizator ce să introducă în câmp. Utilizați un substituent pentru casetă de text pentru a solicita utilizatorului să introducă un nume de element din listă.

Pentru a configura substituentul câmpului de text:

Inspector de atribute afișat atunci când selectați al patrulea buton din stânga de pe panoul de comutare Inspectori. Vă permite să editați proprietățile unui obiect din storyboard.


2. În Inspectorul de atribute, găsiți câmpul etichetat Placeholder și tastați Nou articol de făcut.

3. Apăsați Enter pentru a afișa noul substituent.

Previzualizează-ți interfața

Verificați periodic aplicația pentru a vă asigura că totul arată exact așa cum vă așteptați. Puteți previzualiza interfața folosind editor asistent, care va afișa un al doilea editor, lângă cel principal.

Pentru a previzualiza interfața, aveți nevoie de:

  1. Faceți clic pe butonul asistent t în bara de instrumente Xcode pentru a deschide editorul asistent.


  1. Pe panou selector de editor, comutați acest editor de la Automat la Previzualizare.


3. Dacă aveți nevoie de mai mult spațiu pentru a lucra, restrângeți navigatorul de proiect și zona de zero făcând clic pe butoane Navigator și utilitareîn panoul Xcode.


Fereastra dvs. Xcode ar trebui să arate astfel:


După cum puteți vedea, caseta de text nu arată corect. Se termină aproximativ în mijlocul ecranului. Interfața definită în storyboard este redată corect, așa că de ce se întâmplă acest lucru în previzualizare?

După cum ați învățat mai devreme, acum dezvoltați o interfață receptivă care se adaptează la dimensiunea iPhone și iPad. Scena pe care o vedeți în storyboard este afișată implicit ca versiunea partajată a interfeței. Aici trebuie să specificați cum ar trebui să se potrivească interfața diferite dispozitive. De exemplu, atunci când interfața se micșorează la dimensiunea unui iPhone, și câmpul de text ar trebui să se micșoreze. Când interfața se extinde la dimensiunea iPad, câmpul de text ar trebui să se extindă și el. Puteți defini aceste reguli de scalare a interfeței folosind Auto Layout.

Adăugarea unui aspect automat

Localizare automată este un motor de aspect puternic care facilitează dezvoltarea unui aspect receptiv. Descrieți condițiile dorite pentru poziționarea elementelor în scenă și apoi lăsați motorul de aspect să determine cum să implementați cel mai bine acele condiții. Descrieți condiții folosind restricții- reguli care explică cum trebuie poziționat un element față de altul, sau ce dimensiune ar trebui să aibă, sau care dintre două elemente ar trebui să se micșoreze mai întâi atunci când ceva reduce spațiul pentru fiecare dintre elemente.

Pentru un câmp de text în această interfață, trebuie să existe o cantitate fixă ​​de spațiu de la marginea superioară a dispozitivului și o întindere a câmpului orizontal independent de dispozitiv.

Pentru a poziționa un câmp de text utilizând Poziție automată, trebuie să:

  1. În scenariul dvs., selectați câmpul de text.
  2. Selectați pictograma de pe spațiul de lucru Aliniere automată aspect.

3. Selectați elementele " Centru orizontal în container" și " Centru vertical în container».


4. Faceți clic pe butonul Adăugați doi delimitatori.

5. În spațiul de lucru, selectați pictograma Pin pentru aspect automat.

6. Sub „ Spațiere până la cel mai apropiat vecin» Selectați cele două opriri roșii făcând clic pe ele.


Aceste constrângeri definesc distanțele până la cea mai apropiată vedere a vecinului din față și din spate. În cazul în care articolul " Constrângeți la margini» este selectat, caseta de text este constrânsă în raport cu umplutura de vizualizare.

7. Faceți clic pe butonul Adăugați doi delimitatori.

Previzualizarea interfeței se va actualiza pentru a afișa noile constrângeri:


Dacă nu obțineți comportamentul pe care îl așteptați, utilizați funcția de eroare automată de la Xcode. Cu câmpul de text selectat, faceți clic pe pictograma Resolve Auto Layout Issues și selectați Resetare pentru SuggestedConstraints pentru ca Xcode să actualizeze interfața cu constrângerile descrise mai sus în vigoare. Sau faceți clic pe pictograma Resolve Auto Layout Issues și selectați ClearConstraints pentru a elimina toate constrângerile din vizualizarea text și apoi încercați din nou pașii de mai sus.

Examinare: rulați aplicația pe simulatorul iOS pentru a vă asigura că scena generată arată așa cum vă așteptați. Ar trebui să puteți face clic în interiorul câmpului de text și să introduceți un șir folosind tastatura (dacă doriți, puteți comuta tastatura apăsând Command-K). Dacă răsturnați dispozitivul (Comandă-Săgeată stânga sau Comandă-Săgeată dreapta) sau rulați aplicația pe un alt dispozitiv, câmpul de text ar trebui să se extindă sau să se micșoreze în funcție de dimensiunea și orientarea dispozitivului.

În ciuda faptului că scena ta pentru adăugarea unui element nu este încă foarte funcțională, dar interfața de bază este acolo și funcționează. Revizuirea marcajului de la începutul ghidului vă permite să fiți sigur că aveți o bază solidă pentru suplimentul dvs.

rezumat

Acum sunteți pe drumul cel bun pentru a putea crea o interfață de bază folosind storyboard-uri. În tutorialele rămase, veți învăța cum să adăugați interacțiune la interfața dvs. și să scrieți cod pentru a crea un comportament personalizat. Capitolele dintre tutoriale vă vor prezenta conceptele pe care le puneți în practică în timp ce lucrați la aplicația dvs.

  1. Limbaj de programare. Ce trebuie să știți pentru a scrie aplicații pentru iOS.
  2. Partea oficială: certificat de dezvoltator.
  3. Echipament necesar pentru o dezvoltare confortabilă.
  4. Eterna întrebare: AndroidOS sau iOS?
  5. Ce trebuie făcut astăzi?
  6. Crearea unui nou proiect.
  7. Compilare. Ce este și de ce este nevoie?
  8. Rulați pe simulator.
  9. Ieșire „Bună, lume!”.

Limbaj de programare. Ce trebuie să știți pentru a scrie aplicații pentru iOS

Limbaj de programare(wikipedia.org) - un sistem de semne formal conceput pentru a fi scris programe de calculator. Un limbaj de programare definește un set de reguli lexicale, sintactice și semantice care definesc aspect programe și acțiuni pe care interpretul (calculatorul) le va efectua sub controlul său.

Poate că întrebarea pe care am pus-o în titlul acestei părți este destul de complexă. Pot să răspund simplu - Obiectiv-C. Dacă m-aș fi oprit acolo, m-aș fi înșelat. Aș spune că Obiectivul-C este minimul strict. Recent, a avut loc o conferință de la Yandex - YET, la care unul dintre rapoarte a fost dedicat exact ce limbaje de programare ar trebui să cunoască un dezvoltator. Raspunsul a fost cam asa: „Trebuie să învețe noi și noi limbaje de programare în mod constant, fără să se oprească la cineva anume”. Sunt pe deplin de acord cu asta. Învățând noi limbaje de programare, înveți noi abordări, metode de programare. Prin urmare, pentru a scrie aplicații pentru iOS, trebuie să cunoașteți Objective-C, dar este de dorit să cunoașteți și alte limbaje de programare, astfel încât codul dvs. să fie bun, eficient, flexibil.


Dacă nu sunteți încă programator, atunci vă sfătuiesc să începeți cu limbajul C. Descărcați cartea lui Kernighan și Ritchie ( mai bine cumperi) despre limbajul C, citiți-l, faceți tot ce vi se sugerează, iar după aceea v-aș sfătui să treceți la Objective-C. Dacă știți deja să scrieți programe, sunteți gata să răspundeți cu ușurință la întrebări - „Ce sunt tipurile de date? Ce este o variabilă? Ce este o funcție sau o metodă? Ce este un link și un pointer? Ce "include”?” Dacă știi C sau C++ sau Java sau C#, atunci ești gata să scrii prima ta aplicație iOS.

De asemenea, trebuie să cunoașteți elementele de bază ale OOP și modelele de design. Probabil că lista poate fi continuată mai departe, dar cu greu sunt pregătit să pretind o explicație calitativă a acestor concepte. Da, din păcate, Objective-C nu este limbajul cu care poți începe calea programatorului. Dar dacă îți place și vrei să creezi, atunci este timpul să alergi la magazin, să cumperi cărți și să începi drumul ca dezvoltator.

Ai nevoie de un designer, dezvoltator de interfețe sau altcineva?

O altă întrebare, nu mai puțin simplă. Dacă ești programator și știi să scrii programe de consolă și vrei să începi să scrii aplicații pentru iOS, atunci la etapa inițială nu ai nevoie de o astfel de persoană. Dacă aveți un iPhone || iPad || iPod touch, sunteți familiarizat cu iOS, atunci nu aveți nevoie de un designer de interfață. În general, Apple are un astfel de document - umanInterfațăInstrucțiuni. Acest document descrie unde și ce element de interfață trebuie utilizat. Prin urmare, în etapa inițială, puteți face fără terți. În general, SDK-ul iOS oferă suficiente opțiuni pentru pictarea interfeței aplicației, astfel încât nu trebuie să desenați butoane sau texte multicolore, umpleri cu gradient și așa mai departe în PS. Ulterior, tu și cu mine vom crea primul proiect, în care ne vom familiariza cu toate etapele creării aplicației „Hello, World!”.


Cu toate acestea, trebuie să înțelegeți că atunci când încep proiecte serioase, aplicații pe care doriți să le publicați în AppStore, vă va fi deja mai dificil fără un designer și dezvoltator. Complexitatea poate apărea în diferite etape - fie în timpul dezvoltării aplicației, când petreci ore întregi căutând imaginea potrivită sau stând și creând în PS, fie după ce publici aplicația și începi să primești comentarii de la utilizatorii noștri preferați care se vor plânge de designul tău slab. aplicație gratuită. Am întâlnit aceeași problemă în ambele etape. După ce am primit comentarii proaste în AppStore, am vrut să renunț la aplicația mea, care este gratuită, apropo, și să uit de utilizatorii nerecunoscători. Cu toate acestea, utilitatea aplicației în sine pentru mine, precum și pentru mulți alți utilizatori, m-a făcut să înghit acele comentarii supărate și să continui dezvoltarea aplicației. În urmă cu aproximativ trei luni, am început să dezvolt o aplicație împreună cu un designer care spune ce și unde să inserez, ce culoare să aleg, unde și ce imagine să desenez, iar asta, vreau să spun, este destul de convenabil. Prin urmare, tot sfătuiesc la un moment dat să începeți să utilizați serviciile designerilor pentru a obține feedback bun de la utilizatori. Și amintiți-vă - utilizatorii de dispozitive iOS vor să vadă bun designul aplicației, chiar dacă funcționalitatea acesteia are de suferit.

Partea oficială: certificat de dezvoltator

Probabil, ați auzit deja multe despre un fel de certificat de dezvoltator. Acum voi încerca să vă aduc la curent - de ce este și dacă aveți nevoie de el chiar acum. Certificatul de dezvoltator este un fișier, ca orice alt certificat. Acest fișier vă este oferit de Apple după ce parcurgeți toate etapele de înregistrare în sistem iOS (macOS) dezvoltator (Afacere) program.

Ce îți va da să ai fisierul datși înregistrarea la unul dintre programele de mai sus? Răspunsuri la această întrebare - întunericul este întunecat. Prin urmare, voi vorbi doar despre cele mai importante (toate următoarele vă sunt oferite pentru exact un an):

  • testarea aplicațiilor pe dispozitivele dvs. (deși pare a fi hackabilă și posibilă fără certificat)
  • acces la forumul pentru dezvoltatori de pe portalul Apple (deși există o comunitate StackOverflow.com unde poți găsi răspunsul la întrebarea ta mult mai rapid)
  • posibilitatea de a descărca versiuni beta (și desigur pe cele actuale) de iOS și Xcode
  • posibilitatea de a instala versiuni beta de iOS pe dispozitivul dvs
  • posibilitatea de a publica aplicația în AppStore
  • posibilitatea de a conecta până la 100 de dispozitive la contul dvs., permițând astfel acestor dispozitive să instaleze versiuni iOS beta, să vă testeze aplicațiile (nepublicate încă în AppStore) și multe altele ilegale
  • oportunitatea de a arăta în fața prietenilor tăi că ești un dezvoltator oficial de aplicații iOS

Dacă decideți că aveți nevoie de un astfel de certificat, atunci fiți pregătit să vă despărțiți de 100 USD (300 USD pentru Enterprise), trimiteți un fax în SUA, introduceți detaliile cardului dvs. bancar (atenție! Al dvs., exact al dvs.) și terminați de citit acest capitol.


Deci să mergem.

  1. Urmați acest link http://developer.apple.com/programs/ios/
  2. Faceți clic pe Înregistrați-vă acum
  3. Citim cu atenție inundația și mergem mai departe – Continuăm
  4. Aici avem 4 puncte:? a. Vrei să creezi Apple nou ID pentru Apple Developer Program?b. Doriți să utilizați un ID Apple existent?c. Sunteți deja înregistrat ca un simplu dezvoltator și acum doriți să deveniți un dezvoltator oficial cu toate beneficiile de mai sus?d. Sunteți deja membru al programului pentru dezvoltatori iOS sau Mac și doriți să conectați un alt program la contul dvs
  5. Prieteni, atunci trebuie să parcurgeți câțiva pași pentru a completa datele personale. Nu-mi amintesc exact ce este acolo. Vor fi întrebări - întrebați în acest subiect, voi răspunde pe cât posibil la toate.
  6. Vi s-a oferit un link către un fișier .pdf de completat și de fax către Apple.
  7. Îl imprimăm, îl completăm (foarte atent și precis).
  8. Trimitem un fax la biroul Apple din SUA. (Ai grijă ca faxul tău să nu cadă pe mâini greșite, pentru că acolo indici numărul cardului bancar și CVV).
  9. Așteptăm cel de-al N-lea număr de zile (săptămâni) în timp ce Apple vă procesează cererea.
  10. Primim o scrisoare în care ești felicitat pentru faptul că te-ai înscris în program și ai pierdut o sută de dolari. Ura!

După finalizarea cu succes a misiunii, veți avea acces la http://developer.apple.com/membercenter/ . Poate că o revizuire a acelei pagini fie necesită un articol separat, fie necesită o căutare în Google / Yandex.

Ei bine, prieteni, să trecem la chestiunile rămase pe ordinea de zi.

Echipament necesar pentru o dezvoltare confortabilă

Dacă vă decideți serios să începeți să dezvoltați aplicații pentru iOS, atunci vă recomand cu căldură să achiziționați imediat un computer/laptop cu MacOs. Cea mai ieftină opțiune este un Mac Mini sau ceva folosit. Dacă sunteți student și veți purta echipament cu dvs. - Macbook Air. Dacă aveți mulți bani și doriți un laptop puternic, complet - pentru jocuri, calcule avansate și programare - Macbook Pro. Dacă doriți să luați un computer desktop - iMac sau Mac Mini. Pentru dezvoltare, orice computer în orice configurație existentă va face. Dimensiunea ecranului depinde de tine. Eu personal stau acum la Macbook 13 "și Mac Mini 17". Ambele afișaje mi se potrivesc. În orice caz, puteți conecta oricând un monitor extern la laptop.

Nu uita că mai devreme sau mai târziu vei avea nevoie de un iPhone, iPod sau iPad. Nu vă bazați exclusiv pe simulatorul iOS, care este distribuit în același pachet ca și Xcode. Testați întotdeauna versiunile de lansare pe dispozitive. Sau - căutați testeri (responsabili și conștiincioși).

Dacă nu sunteți pregătit să cheltuiți atât de mulți bani pe echipamente noi, atunci puteți încerca să puneți un hackintosh pe computer.

Eterna întrebare: Android sau iOS?

Este posibil ca această întrebare să fi fost pusă chiar de la început, dar se află încă la sfârșitul acestui articol. Ești sigur că vrei să încerci mâna la dezvoltarea mobilă, dar nu știi ce platformă mobilă să alegi? Nu pot să vă răspund la această întrebare. Dar știu un lucru - dacă doriți să dezvoltați aplicații pentru iOS, atunci trebuie să iubiți produsele Apple și sistemul de operare iOS și MacOs. De ce, întrebi? Răspunsul este simplu - trebuie să iubești ceea ce faci, trebuie să creezi. Numai așa poți dezvolta un produs cu adevărat cool și util. Numai atunci vă veți bucura să învățați Objective-C și iOS. Cred că acest lucru este foarte important. Dacă aveți sentimente similare despre produsele Apple, atunci nu ezitați să intrați în domeniul dezvoltării iOS. Dacă crezi că - știu Java, dar nu știu Objective-C, dar îmi place iOS mai mult decât AndroidO - atunci alege iOS. Nu, ei bine, ce te așteptai să încep să laud sistemul de operare Android?


Îmi place și iOS-sphere cu magazinul său de aplicații. Totul este frumos, corect și există o moderare foarte strictă a aplicațiilor. Acea groapă de aplicații care se află acum în sistemul de operare Andoroid este pur și simplu îngrozitoare, atât pentru utilizatori, cât și pentru dezvoltatori demni.

Ce trebuie făcut astăzi?

Astăzi trebuie să decideți: când începeți să dezvoltați aplicații, veți avea suficientă experiență actuală pentru a învățaObiectiv- C, ai echipamentul necesar, si cel mai important dorinta?

Salut Lume.

Verificarea pregătirii

Să trecem de la teorie la practică. Pentru pregătire practică, veți avea nevoie de Xcode 4.2 cu iOS SDK, de preferință un certificat de dezvoltator, cunoștințe de C, C++, Java sau Objective-C (ei bine, poate cunoștințele în alte limbi va fi bine) și, în sfârșit, o dorință pentru a începe să scrieți aplicații pentru iOS. Dacă îți lipsește ceva, de exemplu, un certificat de dezvoltator, atunci articolul va fi oricum relevant pentru tine. În orice caz, mi se pare că fiecare utilizator al unui dispozitiv iOS ar trebui să fie interesat să arunce o privire asupra funcționării interioare a dezvoltării aplicațiilor.

Creați un nou proiect

Merge. Faceți clic pe pictograma Xcode. Se va deschide o fereastră similară cu aceasta:


Selectați „Creați un nou proiect Xcode”. În fereastra următoare, selectați tipul de proiect. Avem nevoie de: „iOS - Application - Single View Application”.


Faceți clic pe Următorul. Vom vedea o fereastră cu următorul conținut:


Permiteți-mi să explic câmpurile de intrare:

  1. Nume produs - Numele noului proiect - puteti introduce orice, dar va sfatuiesc sa folositi nume identice cu ale mele, pentru ca ma voi referi periodic la ele.
  2. Company Identifier - Identificatorul companiei dvs. - îl puteți completa după cum doriți.
  3. Bundle Identifier - Un identificator unic pentru aplicația dvs. Acest câmp poate fi editat ulterior.
  4. Prefix de clasă - un prefix care va fi atribuit numelor tuturor claselor pe care le creați în proiect. Am lăsat câmpul necompletat "XYZ" este doar un indiciu).
  5. Familia de dispozitive - pe ce tipuri de dispozitive poate fi instalat proiectul. Puteți alege una dintre cele trei opțiuni: « iPad/ iPhone/ universal« . Scopul lor este evident. Dacă nu vă puteți decide chiar acum dacă doriți să creați o aplicație universală, puteți alege oricare dintre celelalte opțiuni. Acest lucru poate fi corectat în orice etapă a ciclului de viață al software-ului.
  6. Utilizați Storyboard - Acest lucru este legat de crearea unui model de UI. Adăugat cu iOS5, așa că atunci când utilizați această horror, aplicația dvs. poate fi instalată numai pe dispozitive cu o axă iOS5 sau mai mare.
  7. Utilizați contorizarea automată a referințelor - aceasta este o nouă caracteristică a compilatorului Apple LLVM 3.0 - gestionează automat (aproape) memoria (monitorizează scurgerile, zombii și alte orori). Aș spune că este perfect pentru un începător. DAR - 1) nu totul este atât de automat, 2) ai încredere în compilator mai mult decât în ​​tine?, 3) Recomand gestionarea manuală a memoriei.
  8. Include Unit Tests - conectați testul unitar la proiect.

Veți vedea o fereastră pentru selectarea categoriei în care va fi plasat proiectul. Vreau doar să vă avertizez că un folder cu numele proiectului dumneavoastră va fi creat automat în folderul pe care l-ați ales, adică nu este nevoie să creați un folder suplimentar pentru un anumit proiect.

Debifați „Creați depozitul git local pentru acest proiect”. Mai bine atunci, dacă este necesar, conectați proiectul nostru la depozitul de coduri, dacă aveți nevoie brusc de el.

Faceți clic pe „Creați” și vedeți o nouă fereastră, fereastra spațiului nostru de lucru:


Și așa, am creat un proiect, am generat niște fișiere, unele ferestre sunt deschise.

Să ne familiarizăm cu fișierele din meniul de navigare:

  • fișierele cu sufixul „.h” sunt anteturi, unde vom oferi o descriere a claselor
  • fișierele cu sufixul „.m” sunt fișiere de implementare, unde vom implementa clasele descrise anterior
  • fișierele cu sufixul „.xib” sunt fișiere care descriu interfața unei singure ferestre de aplicație

Compilarea proiectelor

Compilare -

  1. traducerea programului într-o limbă apropiată de limbajul mașinii și legarea ulterioară a acestuia.
  2. traducerea unui program în limbajul sursă într-un modul obiect (realizat de un compilator) și legarea lui ulterioară într-un modul de program gata de utilizare.
  3. traducerea unui program scris într-o limbă sursă și legarea lui ulterioară într-un program într-un cod interpretat de nivel scăzut independent de mașină (cum ar fi, de exemplu, în cazul limbajului Java).

Procesul de compilare constă din următoarele etape:

  1. Analiza lexicală. În această fază, secvența de caractere din fișierul sursă este convertită într-o secvență de jetoane.
  2. Analiza sintactică (gramaticală). Secvența de jetoane este convertită într-un arbore de analiză.
  3. Analiza semantică. Arborele de analiză este procesat pentru a-și stabili semantica (sensul) - de exemplu, legarea identificatorilor la definițiile lor, tipurile de date, verificarea compatibilității tipurilor de date, determinarea tipurilor de date rezultate ale expresiilor etc. Rezultatul este de obicei numit „reprezentare intermediară /code”, și poate fi mărit cu un arbore de analiză, un arbore nou, un set de instrucțiuni abstracte sau altceva convenabil pentru procesare ulterioară.
  4. Optimizare. Comenzile redundante sunt eliminate și codul este simplificat (acolo unde este posibil) păstrându-și în același timp sensul, adică algoritmul pe care îl implementează (inclusiv expresii de pre-calcul (adică calculate în faza de traducere), ale căror rezultate sunt practic constante) . Optimizarea poate fi la diferite niveluri și etape - de exemplu, peste codul intermediar sau peste codul final al mașinii.
  5. Generarea codului. Codul în limba țintă este generat din reprezentarea intermediară (inclusiv conectarea programului).

Într-un limbaj mai simplu din partea mea. Pasul de analiză lexicală verifică dacă toate caracterele din codul sursă sunt în ordinea corectă, iar caracterele asociate vor fi tratate ca o singură entitate, un simbol, în pașii următori. În etapa de analiză, se verifică dacă toate jetoanele sunt în ordinea corectă, în locurile potrivite, în ordinea corectă. Și, în sfârșit, în etapa analizei semantice se verifică corespondența tipurilor de date.

Și așa, când faceți clic pe „Construiți proiect”, atunci se efectuează mai întâi analiza lexicală a codului dvs., dacă are succes, apoi analizarea și apoi analiza semantică. Există un proces ușor care rulează în Xcode tot timpul care îndeplinește această funcție, solicitând astfel dezvoltatorului "pe fuga". De exemplu, dacă nu ați pus „;” sau echivalat brusc cu int cu un anumit șir de caractere, apoi Xcode va sublinia șirul cu o linie ondulată roșie.

Rulează pe simulator

Și așa, să încercăm să rulăm proiectul nostru, pentru care nu am scris încă o singură linie de cod personal.

Pentru a face acest lucru, ne întoarcem la meniu: Schema de compilare(este verde în captura mea de ecran). Schema este o anumită configurație a proiectului. Xcode îl generează automat. Faceți clic pe linia din dreapta numelui proiectului (numele dispozitivului), dacă dispozitivul nu este conectat, va spune „Dispozitiv iOS”. Veți avea o listă derulantă cu următorul conținut:


În această listă, alegem unde va fi instalat proiectul nostru: poate fi fie dispozitivul dvs., fie un simulator. Dacă ați selectat tipul de aplicație ca universal, atunci veți putea selecta tipul de simulator: iPhone sau iPad. De asemenea, puteți selecta versiunea sistemului de operare pentru simulatoare (este important să testați proiectul pe toate versiunile iOS pe care se poate instala aplicația). De când am început să vorbim despre versiunea minimă de iOS, atunci este necesar să menționăm cum să-i determinăm versiunea minimă? Este simplu - dacă utilizați metodele (funcțiile) care au fost adăugate în versiunea iOS, de exemplu, 4.0 , apoi bara pentru sistemul de operare minim necesar este ridicată la 4.0 . Să coborâm bara la 4.0 cu 5.0 . Pentru a face acest lucru, să ne întoarcem la meniul: „Ținta de implementare” (evidențiat cu albastru în figura mea). Din lista derulantă, selectați 4.0 . Acum reveniți la meniu: Schema de compilare. Lista noastră arată acum astfel:


Selectați „Simulator iPhone 4.0”. Și, în sfârșit, faceți clic pe săgeata, sub care scrie „Run”. LA "tablou informativ" vom vedea procesul de compilare. După ce totul este asamblat cu succes, se va deschide fereastra simulatorului iPhone:

Acum să trecem rapid peste capacitățile simulatorului.

  • Puteți simula iPhone, iPhone Retina, iPad.
  • Simulați diferite versiuni de iOS.
  • Faceți capturi de ecran.
  • Rotiți ecranele (modurile portret și peisaj)
  • scutura
  • Simulați lipsa memoriei.
  • Simulați serverul de imprimare
  • Poziția de geolocalizare
  • Gesturi multi-touch (maximum 2 degete)
  • Alte

Toate acestea pot fi accesate din meniul programului simulator:

Câteva cuvinte despre simulator. Aplicațiile pot fi instalate pe simulator doar prin Xcode, pot fi dezinstalate direct din simulator (la fel ca pe un dispozitiv real), acceptă multitasking. Dar are și multe limitări, de exemplu, nu puteți instala un certificat în depozitul local de certificate al aplicației. Dar principalul dezavantaj este că SIMULATOR, dar nu EMULATOR. Adică se preface doar a fi un dispozitiv iOS, pur și simplu redând o interfață similară (stratul software). Dar emulatorul face exact ceea ce va face dispozitivul (la nivel fizic). Care ar trebui să fie concluzia? Asigurați-vă că testați pe un dispozitiv real. Am avut cazuri când funcționează pe dispozitiv, dar nu pe simulator și invers.

Ieșire „Bună, lume!”.

Sper că totul este mai mult sau mai puțin clar până în acest stadiu. Dacă nu, atunci în procesul de dezvoltare veți începe să înțelegeți mai profund.

Acest capitol este scris în memoria lui Dennis Ritchie, creator de limbaj de programareCși dezvoltator cheie de sistem de operareUNIX, și, de asemenea, ca co-autor al cărții „Limbajul de programareC» .

Scopul capitolului este de a decora ecranul nostru gri gol. Minunat, hai să mergem. Revenim la Xcode, selectăm „ViewController_iPhone.xib” în meniul de navigare. Apoi, selectați „Vizualizare” în lista care apare. Selectați „Inspector de atribute” din dreapta. Iată cum arată fereastra pentru mine, plus comentarii suplimentare:


Acum să adăugăm o etichetă UILabel. UILabel este numele unei clase din SDK-ul iOS care vă permite să afișați text needitabil pe ecran. În general, toate clasele care vă permit să afișați ceva au un prefix UI: UIView, UITableView, UITextView, UIButton,…. În fereastra „Obiecte disponibile pentru afișare” căutăm o linie cu numele Etichetă. Cumva tocmai l-am găsit, apoi facem clic pe el și îl tragem în vizualizarea curentă a ecranului.


Liniile punctate albastre vă vor ajuta să centrați/calibrați poziția relativă a marcajului. Și așa, selectați Etichetă în lista de obiecte afișate, dacă nu este deja selectat, și vedeți elementul în proprietăți: Text. Să scriem „Bună, lume!” și apăsați introduce. Aici am schimbat textul etichetei și am micșorat. Să reparăm asta. LA categorii de proprietate alege "rigla" Inspector de dimensiuni. Există câmpuri:

  • x și y sunt coordonatele colțului din stânga sus al etichetei în raport cu vizualizarea părinte, adică vizualizarea în care am plasat eticheta - aceasta este vizualizarea View în cazul nostru.
  • lățimea și înălțimea sunt lățimea și, respectiv, înălțimea obiectului editat.

Puteți încerca să editați aceste valori și să vedeți modificările. De asemenea, puteți edita direct poziția și dimensiunea prin mișcarea etichetei (text) și trăgând cadrul acesteia în diferite moduri "puncte".

Petrece încă 15-25 de minute și joacă-te cu diferite proprietăți din diferite categorii:

  1. Alinierea textului
  2. Marimea fontului
  3. Culoare, umbră text
  4. si etc.

Ulterior, vom reveni asupra lor și voi explica scopul anumitor domenii.

Care sunt vizualizările standard în iOS.

În paragraful anterior, am atins numele unor clase responsabile de interfață. Prefixul în sine UIși reprezintă interfața cu utilizatorul. Aici voi oferi, poate nu completă, o listă de tipuri de vizualizare disponibile. În primul rând, toate clasele descrise mai jos sunt moștenite de la UIView, adică. au aceleași proprietăți și metode. În al doilea rând, vă puteți crea oricând propria vizualizare personalizată. Lista de mai jos:

1) UILabel - etichetă - scop principal: afișarea uneia sau mai multor linii de text needitabile.

2) UIButton - buton - scopul principal: un buton obișnuit, trimite semnale către obiecte, notificând că a fost apăsat

3) UISegmentedControl - un buton cu segmente - scopul principal: un buton cu mai multe părți active, puteți determina pe care a fost făcut clic

4) UITextField - câmp de introducere a textului - scopul principal: un câmp pentru introducerea textului de către utilizator

5) UISlider - glisor - scop principal: un glisor obișnuit, ajută la schimbarea mai intuitivă a oricăror setări

6) UISwitch - comutator pornit / oprit - scop principal: are două stări - pornit sau oprit, scopul este evident

7) UIActivityIndicatorView - indicator de activitate - scop principal: folosit de obicei pentru a informa utilizatorul că aplicația fie descarcă date, fie pur și simplu efectuează unele calcule

8) UIProgressView - indicator de stare (progres) - scop principal: pentru a afișa starea de finalizare a ceva

9) UIPageControl - comutarea între pagini - scopul principal: afișarea numărului de pagini, afișarea paginii curente

10) UIStepper (>= iOS 5) - +/- controler pas - scop principal: de asemenea, evident

11) UITableView - tabel - scop principal: afișarea unui tabel este poate cel mai popular element

12) UITableViewCell - celula tabelului - scop principal: afișarea unui rând într-un tabel, de obicei personalizabil

13) UIImageView - imagine - scop principal: afișarea unei imagini sau imagini

14) UITextView - câmp text (defilabil) - scop principal: afișarea unei cantități mari de text care poate fi derulată.

15) UIWebView - web - scop principal: afișarea unei pagini web

16) UIMapView - hărți - scop principal: afișarea hărții

17) UIScrollView - vizualizare derulabilă - scop principal: afișarea mai multor vizualizări care nu se potrivesc pe un singur ecran

18) UIDatePicker - Date Picker - Scopul principal: Ideal pentru Date Picker

19) UIPickerView - vizualizare selecție tambur - scop principal: alternativă la tabel la selectarea oricărei opțiuni

20) UIView - doar o vedere - scop principal: evident

21) UINavigationBar - bara de navigare - scop principal: un panou care afișează titlul ecranului și butoane de control suplimentare

22) UINavigationItem - UINavigationBar elemente - scop principal: evident

23) UIToolbar - bara de instrumente - scop principal: afișarea unui panou pe care sunt plasate butoane pentru a controla aplicația

24) UIBarButtonItem - elemente din bara de instrumente - scop principal: evident

25) UIBarButtonItem (spațiu fix și flexibil) - elemente speciale ale barei de instrumente - scop principal: modificarea distanței dintre butoanele din bara de instrumente

26) UITabBar - tabbar - scop principal: ajută la comutarea între diferite ecrane care nu au legătură

27) UITabBarItem - element tabbar - scop principal: evident

Bună prieteni.

Am decis să schimb radical domeniul de aplicare al activității mele (optimizarea și promovarea site-urilor și a magazinelor online) și să iau în serios dezvoltarea iOS. Nu există deloc experiență specifică în programare, totul este doar în termeni generali la nivelul teoriei de bază. Abordez dezvoltarea în sine din punctul de vedere al dezvoltării profesionale și al câștigurilor pe aceasta, precum și din punctul de vedere al unei afaceri interesante și al posibilelor proiecte proprii.

Pâinea de pâine a citit despre subiectul meu, așa că întrebări la "ce cărți să citesc?" nu voi întreba.

1. Cât de urgent am nevoie de un MacBook pentru a intra în dezvoltare? Cu siguranță știu că fără el, până la urmă, nicăieri. Cert este că cumpărarea nu este o problemă (nu milionar, dar pentru schimbări profesionale serioase este gata să cheltuiască 1000-1500 de dolari pe echipamente de lucru), dar are sens, fără să știe absolut nimic pe această temă, într-o astfel de inițială cheltuieli? Este suficient, să zicem, să instalați pe Windows 7 (dacă este ceva: HP, 2 x 1,7 GHz, 2 GB memorie, video integrat) orice emulator și cel puțin primele două luni pentru a se ocupa de baza inițială și conceptele de bază?

2. Cât de puternic este un MacBook pentru un dezvoltator iOS? Să zicem că este suficient MacBook Air 13" (Intel core i5, 4 GB, 128 GB (SSD), Intel HD Graphics 5000)? Sau urmăriți ce MacBook Pro 13"" Retina ( Intel Core i5, 8 GB, 128 GB (SSD), placă grafică Intel Iris 5100)? Sau poate este nevoie de ceva mai puternic (procesor i7, memorie de 16 GB, video nu este încorporat)? Este clar că, dacă banii permit, este mai bine să o luați mai repede, dar, din păcate, cumpărarea unui MacBook de top nu este deloc incomod din punct de vedere financiar acum. Pe de altă parte, nu doriți să luați un MacBook vechi din mâinile cuiva pentru a-l schimba după șase luni.

3. Am nevoie de un dispozitiv iOS pentru a începe dezvoltarea învățării? Sau pe Windows 7 / OS X va fi posibil să emulați cumva iPhone-ul pentru a vedea ce se întâmplă? Sau se face cumva altfel? :-) Din nou, cumpărarea nu este o mare problemă, dar am nevoie acum? Și, la nevoie, o altă întrebare legată: cumpără ceva proaspăt (5/5s) sau nu important (4s)?

4. Este nevoie de cursuri clasice Objective-C? Sau este mai bine să-ți dai seama singur de la zero? Locuiesc în Minsk, cursurile nu sunt nimic deosebit, totul este obișnuit (abordări, metode, nivel general). De asemenea, știu că programarea este o autoînvățare constantă. Întrebare: are sens să urmezi cursuri lunare pentru a obține o bază de pornire și apoi să mergi mai departe pe cont propriu? Sau poti incepe de acasa fara probleme?

5. Cum să planificați procesul de auto-studiu? Nimic nou: am citit - am incercat, nu e clar - am cautat pe internet, e foarte de neinteles - inainte pe forum? A trecut atât de mult de când am învățat HTML. Dar, desigur, Obiectivul-C este o chestiune serioasă, ca toate tehnologiile conexe și va avea vreun sens o astfel de pregătire? Sau aveți nevoie de un sistem specific și de o gradare clară de creștere a nivelului dvs. (mai întâi citiți o carte, apoi urmați un curs, apoi studiați această tehnologie aferentă și așa mai departe)? Spune-mi, te rog, cum te-ai implicat în dezvoltarea iOS.

Viitorii colegi, sunt sigur că în timpul procesului de învățare voi avea o mulțime de întrebări pentru care este păcat să creez subiecte noi. Dacă vreunul dintre voi are ocazia să-mi răspundă la întrebări de câteva ori pe săptămână și să se consulte pe scurt pe orice subiect, vă rugăm să-mi spuneți despre asta în răspunsuri. (lasați orice detalii și condiții de contact (gratuit/plătit și așa mai departe)). Fiecare are propria afacere, sunt foarte puțini altruiști - înțeleg totul, așa că apelurile mele către tine vor fi cât mai rare și la obiect.

Vă mulțumesc foarte mult pentru atenția și interesul acordat întrebărilor mele. Săptămâna plăcută tuturor! ;-)