Lär dig att skriva applikationer för iOS. Snabb


Många har säkert funderat på att skapa sin egen iOS-applikation. Men om du är ny i den här verksamheten, kommer det första steget i att bemästra det att vara att lösa frågan "var man ska börja."

Huvudmålet med den här artikeln är att sätta riktlinjer för en nybörjare av iOS-skapare, med hjälp av vilka det blir lättare att förstå var man ska börja sin utveckling inom detta område. Du kommer att lära dig om nödvändiga utvecklarverktyg, bekanta dig med det huvudsakliga programmeringsspråket för iOS-applikationer Objective-C, lära dig vad Cocoa är, få ett antal Användbara länkar etc.

iOS Developer Toolkit

Kom igång, installera först alla nödvändiga verktyg: Xcode - skapad av företaget Apple-program för att skapa applikationer för OS X, iOS och iOS SDK.

Xcode är en fantastisk sak som ger allt du behöver för att utveckla applikationer för iPhone och iPad. Xcodes användargränssnitt är ett enda arbetsfönster ( arbetsplats fönster), där all magi händer: från att skriva kod, kontrollera den och felsöka buggar till att utveckla mjukvarugränssnittet. iOS SDK som nämns ovan, designad för att utöka Xcode-verktygssatsen, kräver inte ytterligare laddning och installeras automatiskt från Xcode.

Allt arbete börjar alltså, som du redan förstår, med att installera den senaste versionen av Xcode, som finns i Mac App Store.

Det andra steget är att registrera en nytillverkad iOS-programmerare i iOS-utvecklarprogrammet. Registrering är nödvändig om du menar allvar med utvecklingen och marknadsföringen av ditt skapande i AppStore. Annars kan du sluta oroa dig och begränsa dig till simulatorn som ingår i iOS SDK.

Du kan lära dig om nästa steg för att bemästra Xcode här:

Objective-C språk

Objective-C är ett objektorienterat programmeringsspråk som används för att skapa iOS-applikationer. Objective-C är en superset av C-språket, vilket innebär att du kan skriva kod i både C och Objective-C.


Här är ett litet urval av olika resurser (böcker och webbplatser) som kan hjälpa till att bemästra Objective-C: För dig som kan engelska:

Ramar

Alla iOS-applikationer skapas med Objective-C och Cocoa-ramverk. I ramar utvecklade Apple Corporation, innehåller ett bibliotek med funktioner som din applikation anropar. Samtidigt kan flera applikationer ha tillgång till rambiblioteket samtidigt.

Apple skapar ramverk som redan innehåller alla nödvändiga funktioner, vilket sparar tid och är en slags garanti för kvaliteten på det utförda arbetet.

För dig som vill lära dig mer om ämnet här:

Mallar

Projektmallar är viktig hjälp när du skapar standard iOS-applikationer. Detta betyder dock inte att mallar löser alla problem: efter att ha bekantat dig med det grundläggande iOS Designmönster, kommer utvecklaren på ett eller annat sätt att behöva "hugga" sin skapelse i enlighet med befintliga behov.

Attraktivt skal

Den visuella komponenten i en iOS-applikation ges inte mindre betydelse än den funktionella. Därför är det viktigt att komma ihåg vikten av gränssnittet när man utvecklar mjukvara. Användarnas huvudsakliga förväntningar på applikationen i visuella termer kan beskrivas med några få ord - attraktivitet, interaktivitet och, viktigast av allt, gränssnittets intuitivitet.

Mer om gränssnittsdesign:

Och ett par poäng till

Låt oss nu avvika lite från den tekniska komponenten och vända oss till idéer. När du skapar en applikation är det viktigt att förstå vad syftet är och vilka funktioner den kommer att utföra. Bestäm om applikationen bara ska fungera på iPhone, eller kanske iPad, eller om den ska vara universell. Spendera lite mer tid och besluta om typen av datamodell, gränssnittsstil och studieramar. Allt detta hjälper dig att förstå mjukvaruarkitekturen tydligare.

Detta avslutar vår utflykt till iOS-applikationsutvecklingens värld och det antas att du nu har svaret på frågan "var ska du börja." Resten är allt i dina händer.

Om du inte har hittat ett svar på din fråga eller om något inte fungerade för dig, och det inte finns någon lämplig lösning i kommentarerna nedan, ställ en fråga genom vår. Det är snabbt, enkelt, bekvämt och kräver ingen registrering. Du hittar svar på dina och andra frågor i avsnittet.

  1. Programmeringsspråk. Vad du behöver veta för att skriva applikationer för iOS.
  2. Behöver du en designer, gränssnittsutvecklare eller någon annan?
  3. Officiell del: utvecklarcertifikat.
  4. Nödvändig utrustning för bekväm utveckling.
  5. Den eviga frågan: AndroidOS eller iOS?
  6. Vad behöver göras idag?
  7. Skapa ett nytt projekt.
  8. Kompilering. Vad är det och varför behövs det?
  9. Kör på simulatorn.
  10. Vi trycker "Hej världen!"
  11. Vilka standardvyer finns det i iOS?

Programmeringsspråk. Vad du behöver veta för att skriva applikationer för iOS

Programmeringsspråk(wikipedia.org) - ett formellt teckensystem utformat för att spela in datorprogram. Ett programmeringsspråk definierar en uppsättning lexikala, syntaktiska och semantiska regler som definierar programmets utseende och de åtgärder som utföraren (datorn) kommer att utföra under dess kontroll.

Kanske är frågan jag ställde i rubriken på denna del ganska komplex. Jag kan svara enkelt - Objective-C. Om jag slutade där skulle jag ha fel. Jag skulle säga att Objective-C är det minimum krävs. Nyligen var det en konferens från Yandex - YET, där en av rapporterna ägnades åt vilka programmeringsspråk en utvecklare borde kunna. Svaret var ungefär så här: "Han måste lära sig nya och nya programmeringsspråk ständigt, utan att stanna vid något speciellt.". Jag håller helt med om detta. Genom att lära dig nya programmeringsspråk lär du dig nya tillvägagångssätt och programmeringsmetoder. För att skriva applikationer för iOS behöver du därför känna till Objective-C, men det är också lämpligt att kunna andra programmeringsspråk så att din kod är bra, effektiv och flexibel.

Om du inte är en programmerare än, så råder jag dig att börja med C-språket. Ladda ner boken av Kernighan och Ritchie ( eller ännu bättre, köp den) om C-språket, läs det, gör allt som föreslås för dig, och efter det skulle jag råda dig att gå vidare till Objective-C. Om du redan förstår hur man skriver program är du redo att enkelt svara på frågorna - "Vad är datatyper? Vad är en variabel? Vad är en funktion eller metod? Vad är en länk och en pekare? Vad har hänt "omfatta”?” , du kan C eller C++ eller Java eller C#, då är du redo att skriva din första applikation för iOS.

Du behöver också känna till grunderna i OOP och designmönster. Listan skulle förmodligen kunna fortsätta och fortsätta, men jag är knappast redo att göra anspråk på en kvalitativ förklaring av dessa begrepp. Ja, tyvärr är Objective-C inte språket som du kan starta din programmerarresa med. Men om du gillar och vill skapa, då är det dags för dig att springa till butiken, köpa böcker och påbörja din utvecklarresa.

Behöver du en designer, gränssnittsutvecklare eller någon annan?

En annan, inte mindre enkel fråga. Om du är en programmerare och vet hur man skriver konsolprogram och vill börja skriva applikationer för iOS, behöver du inte i det inledande skedet en sådan person. Om du har en iPhone || iPad || Ipod Touch Om du är bekant med iOS behöver du ingen front-end-utvecklare. I allmänhet har Apple ett sådant dokument - MänskligGränssnittRiktlinjer. I det här dokumentet beskriver var och vilket gränssnittselement som ska användas. Därför kan du i det inledande skedet klara dig utan tredje part. I allmänhet ger iOS SDK tillräckligt med möjligheter för att måla applikationsgränssnittet, så att du kan rita några knappar eller färgglada texter, gradientfyllningar, etc., behöver du inte. Senare kommer vi att skapa det första projektet, där vi kommer att bekanta oss med alla stadier för att skapa "Hej världen!"

Du måste dock förstå att när seriösa projekt börjar, applikationer som du vill publicera i AppStore, blir det svårare för dig utan en designer och utvecklare. Svårigheter kan dyka upp i olika stadier– antingen när du utvecklar applikationer, när du spenderar timmar på att leta efter den nödvändiga bilden eller sitter och skapar i PS, eller efter att du har publicerat applikationen och börjat få kommentarer från våra älskade användare som kommer att klaga på din dåliga design gratis applikation. Jag stötte på liknande problem i båda stadierna. Efter att ha fått usla kommentarer på AppStore ville jag överge min applikation, som för övrigt är gratis, och glömma otacksamma användare. Men användbarheten av själva appen för mig, liksom många andra användare, fick mig att svälja dessa arga kommentarer och fortsätta utveckla appen. För ungefär tre månader sedan började jag utveckla en applikation tillsammans med en designer som berättar för mig vad jag ska infoga och var, vilken färg jag ska välja, var och vilken bild jag ska rita, och det här, vill jag säga, är ganska bekvämt. Därför råder jag dig fortfarande att börja använda designers tjänster någon gång för att få bra feedback från användarna. Och kom ihåg - användare av iOS-enheter vill se Bra applikationsdesign, även om dess funktionalitet blir lidande.

Officiell del: utvecklarcertifikat

Du har säkert redan hört mycket om något slags utvecklarcertifikat. Nu ska jag försöka hålla dig uppdaterad – varför det är och om du behöver det just nu. Ett utvecklarcertifikat är en fil, precis som alla andra certifikat. Denna fil ger dig Apple företag efter att du har gått igenom alla steg i registreringen i systemet iOS (Mac OS) Utvecklare (Företag) Program.

Vad ger dig att ha den här filen och registrera dig i något av ovanstående program? Svaren på denna fråga är överväldigande. Därför kommer jag bara att säga om de viktigaste sakerna (allt som beskrivs nedan ges till dig för exakt ett år):

  • testa dina applikationer på dina enheter (även om detta verkar vara hackbart och kan göras utan certifikat)
  • tillgång till utvecklarforumet på Apple-portalen (även om det finns en community på StackOverflow.com, där du kan hitta svar på din fråga mycket snabbare)
  • möjlighet att ladda ner betaversioner (och givetvis nuvarande) av iOS och Xcode
  • möjlighet att installera beta iOS-versioner till din enhet
  • möjlighet att publicera en applikation i AppStore
  • möjligheten att länka upp till 100 enheter till ditt konto, vilket gör att dessa enheter kan installera betaversioner av iOS, testa dina applikationer (ännu inte publicerade i AppStore) och mycket mer olagligt
  • möjligheten att visa upp för dina vänner att du är en officiell iOS-applikationsutvecklare

Om du bestämmer dig för att du behöver ett sådant certifikat, var då beredd att lämna $100 ($300 för Enterprise), skicka ett fax till USA, ange din bankkort(obs! Din, precis din), ja, läs klart detta kapitel.

Låt oss gå.

  1. Följ den här länken http://developer.apple.com/programs/ios/
  2. Klicka på Registrera nu
  3. Vi läser översvämningen noggrant och går vidare – Fortsätt
  4. Här har vi 4 poäng:?a. Vill du skapa ett nytt Apple-ID för Apple Developer Program?b. Vill du använda ett befintligt Apple-ID?c. Är du redan registrerad som en enkel utvecklare och nu vill du bli en officiell utvecklare med alla fördelar som beskrivs ovan? Du är redan medlem i iOS- eller Mac-utvecklarprogrammet och vill länka ett annat program till ditt konto
  5. Vänner, sedan måste ni gå igenom ett par steg för att fylla i din personliga information. Jag minns inte exakt vad som finns där längre. Om du har några frågor, ställ dem i det här ämnet, jag ska svara på allt så gott jag kan.
  6. Du fick en länk till en .pdf-fil som du måste fylla i och faxa till Apple.
  7. Vi skriver ut och fyller i (mycket noggrant och noggrant).
  8. Vi skickar ett fax till Apple kontor i USA. (Var försiktig så att din fax inte hamnar i orätta händer, för där anger du bankkortsnummer och CVV).
  9. Vi väntar N antal dagar (veckor) på att Apple ska behandla din förfrågan.
  10. Vi får ett brev där vi gratulerar dig till att du registrerat dig för programmet och förlorat en hundralapp. Hurra!

När du har slutfört uppdraget har du tillgång till http://developer.apple.com/membercenter/. Kanske kräver en recension av den sidan antingen en separat artikel eller kräver en Google/Yandex-sökning.

Nåväl, vänner, låt oss gå vidare till de återstående frågorna på dagordningen.

Nödvändig utrustning för bekväm utveckling

Om du på allvar har bestämt dig för att börja utveckla applikationer för iOS, så rekommenderar jag starkt att du omedelbart köper en dator/laptop med MacOs. Det billigaste alternativet är Mac Mini, eller något som används. Om du är student och ska bära med dig utrustning - Macbook Air. Om du har mycket pengar och vill ha kraftfull universal bärbar dator– för spel, komplexa datoruppgifter och programmering – Macbook Pro. Om du vill skaffa en stationär dator, en iMac eller Mac Mini. För utveckling kommer vilken dator som helst i alla befintliga konfigurationer att passa dig. Skärmstorleken är efter eget gottfinnande. Jag personligen sitter nu framför en Macbook 13” och en Mac Mini 17”. Jag är nöjd med båda displayerna. Om något kan du alltid ansluta en extern bildskärm till din bärbara dator.

Glöm inte att du förr eller senare behöver en iPhone, iPod eller iPad. Du behöver inte bara lita på iOS-simulatorn, som distribueras i samma paket med Xcode. Testa alltid versioner på enheter. Eller - leta efter testare (ansvariga och samvetsgranna).

Om du inte är redo att spendera så mycket pengar på ny utrustning kan du testa att installera en Hackintosh på din dator.

Den eviga frågan: Android eller iOS?

Det är möjligt att denna fråga borde ha ställts i början, men den finns fortfarande i slutet av den här artikeln. Är du säker på att du vill prova på mobilutveckling, men vet inte vilken mobil plattform du ska välja? Jag kan inte svara på den här frågan åt dig. Men jag vet en sak - om du vill utveckla applikationer för iOS måste du älska Apples produkter och operativsystemen iOS och MacOs. Du kanske frågar - varför är detta? Svaret är enkelt - du måste älska det du gör, du måste skapa. Först då kommer du att kunna utveckla en riktigt cool och användbar produkt. Endast i det här fallet kommer du att njuta av att lära dig Objective-C och iOS. Jag tror att detta är väldigt viktigt. Om du har liknande känslor för Apple-produkter, gå gärna in på iOS-utvecklingsområdet. Om du tror - jag kan Java, men jag kan inte Objective-C, men jag gillar iOS bättre än AndroidOs - välj då iOS. Nej, men vad förväntade du dig att jag skulle börja berömma Android OS?

Jag gillar också iOS-sfären för dess appbutik. Allt där är vackert, korrekt och det är mycket strikt moderering av applikationer. Den dumpning av applikationer som nu finns i Android OS är helt enkelt hemsk, både för användare och värdiga utvecklare.

Vad behöver göras idag?

Idag måste du bestämma dig: När du börjar utveckla applikationer, kommer din nuvarande erfarenhet att räcka för att lära digMål- C, har du nödvändig utrustning, och den viktigaste önskan?

Hej världen.

Kontrollerar beredskap

Låt oss gå från teori till praktik. För den praktiska lektionen behöver du Xcode 4.2 med iOS SDK, gärna ett utvecklarcertifikat, kunskaper i C, C++, Java eller Objective-C (nåja, kunskaper i andra språk kanske passar) och slutligen en önskan för att börja skriva applikationer för iOS. Om du saknar något, till exempel ett utvecklarcertifikat, kommer artikeln fortfarande att vara relevant för dig. I vilket fall som helst verkar det för mig som att alla användare av iOS-enheter borde vara intresserade av att ta en titt på applikationsutvecklingens inre funktioner.

Skapa ett nytt projekt

Gå. Klicka på Xcode-ikonen. Ett liknande fönster öppnas:

Välj objektet "Skapa ett nytt Xcode-projekt". I nästa fönster väljer du projekttyp. Vi behöver: "iOS - Application - Single View Application".

Klicka på Nästa. Vi kommer att se ett fönster med följande innehåll:

Låt mig förklara inmatningsfälten:

  1. Produktnamn – Namnet på det nya projektet – du kan ange vilket namn som helst, men jag råder dig att använda namn som är identiska med mina, eftersom jag kommer att referera till dem med jämna mellanrum.
  2. Företagsidentifierare - Din företagsidentifierare - du kan fylla i den som du vill.
  3. Bundle Identifier – en unik identifierare för din applikation. Detta fält kan redigeras senare.
  4. Klassprefix – ett prefix som kommer att tilldelas namnen på alla klasser som du skapar i projektet. Jag lämnade fältet tomt ( "XYZ"– det här är bara ett tips).
  5. Device Family – på vilka typer av enheter projektet kan installeras. Du kan välja ett av tre alternativ: iPad/ iPhone/ Universell. Deras syfte är uppenbart. Om du inte kan bestämma dig just nu om du behöver skapa universell tillämpning, då kan du välja något av de andra alternativen. Detta kan korrigeras i alla skeden av mjukvarans livscykel.
  6. Använd Storyboard – Detta är relaterat till att skapa en användargränssnittsmodell. Tillagd med iOS5, så att när du använder denna skräck kan din applikation endast installeras på enheter med iOS5 eller högre.
  7. Använd automatisk referensräkning är ny funktion Apple LLVM 3.0-kompilator – hanterar automatiskt (nästan) minne (övervakar läckor, zombies och andra hemskheter). Jag skulle säga att för en nybörjare är det ett idealiskt alternativ. MEN – 1) inte allt där är så automatiskt, 2) litar du mer på kompilatorn än dig själv?, 3) Jag rekommenderar att hantera minnet manuellt.
  8. Inkludera enhetstester – koppla enhetstester till projektet.

Du kommer att se ett fönster för att välja en kategori där projektet ska placeras. Jag vill bara varna dig för att en mapp med namnet på ditt projekt kommer att skapas automatiskt i den mapp du valde, det vill säga det finns inget behov av att skapa en extra mapp för ett specifikt projekt.

Vi markerar inte kryssrutan "Skapa lokalt git-förråd för detta projekt". Det är bättre att ansluta vårt projekt till kodförrådet senare om det behövs.

Klicka på "Skapa" och se ett nytt fönster, fönstret i vår arbetsyta:

Och så, vi har skapat ett projekt, några filer har genererats, några fönster är öppna.

Låt oss ta en titt på filerna i Navigeringsmeny:

  • filer med suffixet ".h" är rubriker, där vi kommer att ge beskrivningar av klasser
  • filer med suffixet ".m" är implementeringsfiler, där vi kommer att implementera de tidigare beskrivna klasserna
  • filer med suffixet ".xib" är filer som beskriver gränssnittet för ett enskilt programfönster

Sammanställning av projektet

Kompilering -

  1. översättning av ett program till ett språk nära maskinspråk och dess efterföljande sammansättning.
  2. översättning av ett program skrivet på källspråket till en objektmodul (som utförs av kompilatorn) och dess efterföljande sammansättning till en färdig att använda programmodul.
  3. översättning av ett program skrivet på ett källspråk och dess efterföljande sammansättning till ett program i någon maskinoberoende tolkad kod på låg nivå (som t.ex. i fallet med Java-språket).

Sammanställningsprocessen består av följande faser:

  1. Lexikal analys. I denna fas omvandlas teckensekvensen i källfilen till en sekvens av tokens.
  2. Syntaktisk (grammatisk) analys. Sekvensen av tokens omvandlas till ett analysträd.
  3. Semantisk analys. Analysträdet bearbetas för att fastställa dess semantik (betydelse) - till exempel bindning av identifierare till deras definitioner, datatyper, kontroll av datatypskompatibilitet, bestämning av de resulterande datatyperna av uttryck, etc. Resultatet brukar kallas "mellanrepresentation/kod ", och kan kompletteras med ett analysträd, ett nytt träd, en abstrakt uppsättning kommandon eller något annat bekvämt för vidare bearbetning.
  4. Optimering. Redundanta kommandon tas bort och koden förenklas (där det är möjligt) samtidigt som dess betydelse bevaras, det vill säga algoritmen den implementerar (inklusive förberäknade (det vill säga beräknade vid översättningsfasen) uttryck, vars resultat är praktiskt taget konstanter) . Optimering kan ske på olika nivåer och stadier – till exempel på mellankod eller på slutlig maskinkod.
  5. Kodgenerering. Från mellanrepresentationen genereras kod på målspråket (inklusive programlänkning).

I enklare språk från mig. Den lexikaliska analyssteget kontrollerar att alla tecken i din källkod gå i rätt ordning och de associerade symbolerna i följande steg kommer att betraktas som en enda enhet - ett lexem. I parsningsstadiet kontrolleras att alla tokens är placerade i rätt ordning, på rätt ställen, i rätt sekvens. Slutligen, i det semantiska analysstadiet, kontrolleras datatypmatchningar.

Och så, när du klickar på "Bygg projekt", utförs först en lexikal analys av din kod, om den är framgångsrik, då analysera, och sedan semantisk analys. I Xcode körs alltid en viss lättviktsprocess som utför denna funktion och därmed uppmanar utvecklaren "i farten". Till exempel, om du inte skrev ";" eller plötsligt likställer du int med en viss teckensträng, då kommer Xcode att understryka strängen med en röd vågig linje.

Kör på en simulator

Och så, låt oss försöka starta vårt projekt, för vilket vi ännu inte har skrivit en enda rad kod personligen.

För att göra detta, låt oss titta på menyn: Sammanställningsschema(den är tilldelad färgen grön i min skärmdump). Ett diagram är en viss konfiguration av ett projekt. Xcode genererar det automatiskt. Klicka på raden till höger om projektnamnet (enhetsnamnet om enheten inte är ansluten, kommer det att stå "iOS-enhet). Du kommer att se en rullgardinslista med följande innehåll:

I den här listan väljer vi var vårt projekt ska installeras: det kan vara antingen din enhet eller en simulator. Om du har valt den universella applikationstypen kommer du att kunna välja simulatortyp: iPhone eller iPad. Du kan också välja operativsystemversion för simulatorer (det är viktigt att testa projektet på alla versioner av iOS där applikationen kan installeras). Eftersom vi talar om lägsta versionen av iOS, bör vi också nämna hur man bestämmer dess lägsta version? Det är enkelt - om du använder metoder (funktioner) som har lagts till i iOS-versionen, till exempel, 4.0 , då stiger ribban för det minsta nödvändiga operativsystemet till 4.0 . Låt oss sänka ribban till 4.0 Med 5.0 . För att göra detta, gå till menyn: "Deployment target" (markerat i blått på min bild). Välj från rullgardinsmenyn 4.0 . Låt oss nu gå tillbaka till menyn: Sammanställningsschema. Vår lista ser nu ut så här:

Välj "iPhone 4.0 Simulator". Och slutligen, klicka på pilen där det står "Kör". I "Informations tavla" vi kommer att se sammanställningsprocessen. När allt har kommit ihop framgångsrikt öppnas iPhone-simulatorfönstret:

Låt oss nu snabbt gå igenom simulatorns möjligheter.

  • Du kan simulera iPhone, iPhone Retina, iPad.
  • Simulera olika versioner av iOS.
  • Ta skärmdumpar.
  • Rotera skärmar (stående och liggande lägen)
  • skaka
  • Simulera lågt minne.
  • Simulera en skrivarserver
  • Geografisk plats
  • Multi-touch-gester (max 2 fingrar)
  • Övrig

Allt detta kan nås från simulatorns programmeny:

Några ord om simulatorn. Simulatorn kan bara installera applikationer via Xcode, de kan avinstalleras direkt från simulatorn (precis som på en riktig enhet), och den stöder multitasking. Men det har också många begränsningar, till exempel kan du inte installera ett certifikat i det lokala applikationscertifikatarkivet. Men den största nackdelen är att det är det SIMULATOR, men inte EMULATOR. Det vill säga, det låtsas bara att det är en iOS-enhet, helt enkelt genom att rendera ett liknande gränssnitt ( programnivå). Men emulatorn gör exakt vad enheten kommer att göra (på fysisk nivå). Vilken slutsats ska man dra? Se till att testa på en riktig enhet. Jag har haft fall då det fungerar på enheten, men inte på simulatorn, och vice versa.

Vi trycker "Hej världen!"

Jag hoppas att allt är mer eller mindre klart fram till detta skede. Om inte, kommer du under utvecklingsprocessen att börja förstå djupare.

Detta kapitel skrevs till minne av Dennis Ritchie skapare av programmeringsspråketCoch nyckeloperativsystemutvecklareUNIX, och även som medförfattare till boken ”Programming LanguageC» .

Syftet med kapitlet är att dekorera vår tomma grå skärm. Bra då går vi. Vi går tillbaka till Xcode, väljer "ViewController_iPhone.xib" i navigeringsmenyn. Välj sedan "Visa" från listan som visas. Till höger väljer du "Attributinspektör". Så här ser fönstret ut för mig plus ytterligare kommentarer:

Låt oss nu lägga till en UILabel. UILabel är namnet på en klass i iOS SDK som låter dig visa icke redigerbar text på skärmen. I allmänhet har alla klasser som låter dig visa något prefixet UI: UIView, UITableView, UITextView, UIButton,…. I fönstret "Tillgängliga objekt för visning" letar du efter en rad med namnet Label. När vi har hittat den klickar vi på den och drar den till vår nuvarande skärmvy.

De blå prickade linjerna hjälper dig att centrera/kalibrera den relativa positionen för märket. Och så, välj Etikett i listan över visade objekt, om det inte redan är markerat, och se objektet i egenskaperna: Text. Låt oss skriva "Hej världen!" och tryck Stiga på. Här har vi ändrat och krympt etikettens text. Låt oss fixa det här. I fastighetskategorier låt oss välja "linjal""Storleksinspektör". Det finns fält:

  • x och y är koordinaterna för det övre vänstra hörnet av etiketten i förhållande till den överordnade vyn, det vill säga vyn där vi placerade etiketten - detta är vyn i vårt fall.
  • bredd och höjd – det redigerade objektets bredd och höjd.

Du kan prova att redigera dessa värden och observera ändringarna. Du kan också redigera position och storlek direkt genom att flytta etiketten (texten) och dra dess ram med olika "prickar".

Lägg ytterligare 15-25 minuter på att leka med de olika fastigheterna i de olika kategorierna:

  1. Textjustering
  2. Textstorlek
  3. Färg, textskugga
  4. och så vidare.

Därefter kommer vi att återkomma till dem och jag kommer att förklara syftet med vissa fält.

Vilka standardvyer finns det i iOS?

I föregående stycke berörde jag namnen på några klasser som ansvarar för gränssnittet. Själva konsolen UI och står för användargränssnitt. Här kommer jag att ge, kanske inte en fullständig, lista över tillgängliga vytyper. För det första ärver alla klasser som beskrivs nedan från UIView, dvs. har samma egenskaper och metoder. För det andra kan du alltid skapa din egen anpassade vy. Listan nedan:

1) UILabel – etikett – huvudsyfte: visa en eller flera icke-redigerbara textrader.

2) UIBnapp – knapp – huvudsyfte: en vanlig knapp, skickar signaler till objekt, meddelar att den har klickats

3) UISegmentedControl – en knapp med segment – ​​huvudsyfte: en knapp med flera aktiva delar, du kan bestämma vilken som klickades på

4) UITextField – textinmatningsfält – huvudsyfte: fält för användarinmatningstext

5) UISlider – skjutreglage – huvudsyfte: ett vanligt skjutreglage, hjälper till att ändra alla inställningar mer intuitivt

6) UISwitch – På/Av-brytare – huvudsyfte: har två lägen – på eller av, syftet är uppenbart

7) UIActivityIndicatorView - aktivitetsindikator - huvudsyfte: används vanligtvis för att informera användaren om att applikationen antingen laddar ner data eller helt enkelt utför några beräkningar

8) UIProgressView – statusindikator (framsteg) – huvudsyfte: att visa tillståndet för färdigställande av något

9) UIPageControl – växla mellan sidor – huvudsyfte: visa antalet sidor, visa den aktuella sidan

10) UIStepper (>= iOS 5) - +/- stegkontroller - huvudsyfte: också uppenbart

11) UITableView – tabell – huvudsyfte: att visa ett bord är kanske det mest populära elementet

12) UITableViewCell – tabellcell – huvudsyfte: visa en rad i en tabell, vanligtvis anpassningsbar

13) UIImageView – bild – huvudsyfte: visa en bild eller bild

14) UITextView – textfält (rullningsbart) – huvudsyfte: visa en stor mängd text som kan rullas.

15) UIWebView – webb – huvudsyfte: visa en webbsida

16) UIMapView – kartor – huvudsyfte: kartvisning

17) UIScrollView – rullningsbar vy – huvudsyfte: visa flera vyer som inte får plats på en skärm

18) UIDatePicker – datumväljartyp – huvudsyfte: idealisk för att ange ett datum

19) UIPickerView – trumvalstyp – huvudsyfte: ett alternativ till tabellen när man väljer ett alternativ

20) UIView – bara en vy – huvudsyfte: uppenbart

21) UINavigationBar – navigeringsfält – huvudsyfte: en panel där skärmtiteln och ytterligare kontrollknappar visas

22) UINavigationItem – UINavigationBar-element – ​​huvudsyfte: uppenbart

23) UIToolbar – verktygsfält – huvudsyfte: visa en panel på vilken knappar är placerade för att styra applikationen

24) UIBarButtonItem – verktygsfältselement – ​​huvudsyfte: uppenbart

25) UIBarButtonItem (fast och flexibelt utrymme) – speciella verktygsfältselement – ​​huvudsyfte: ändra avståndet mellan knapparna i verktygsfältet

26) UITabBar – tabbar – huvudsyfte: hjälper till att växla mellan olika orelaterade skärmar

27) UITabBarItem – tabbar-element – ​​huvudsakligt syfte: uppenbart

Hej kompisar.

Jag bestämde mig för att radikalt ändra omfattningen av min aktivitet (optimering och marknadsföring av webbplatser och onlinebutiker) och ta iOS-utveckling på allvar. Det finns ingen specifik erfarenhet av programmering alls, allt är bara in allmänna begrepp på grundläggande teorinivå. Jag närmar mig själva utvecklingen ur synvinkeln av professionell utveckling och tjäna pengar på den, såväl som ur perspektivet av helt enkelt en intressant verksamhet och möjliga egna projekt.

Jag läste brödrosten om mitt ämne, så frågor a la "vilka böcker ska jag läsa?" Jag kommer inte att fråga.

1. Hur snabbt behöver jag en MacBook för att dyka in i utvecklingen? Jag vet definitivt att jag i slutändan inte skulle vara någonstans utan honom. Faktum är att köp inte är ett problem (jag är inte miljonär, men för seriösa professionella förändringar är jag villig att spendera 1000-1500 dollar på arbetsutrustning), men är det någon mening med att spendera sådana initiala utgifter utan att veta absolut ingenting om ämnet? Räcker det, säg, att installera på Windows 7 (i så fall: HP, 2 x 1,7 GHz, 2 GB minne, integrerad video) vilken emulator som helst och åtminstone de första månaderna att hantera initial bas och grundläggande begrepp?

2. Hur kraftfull är en MacBook för en iOS-utvecklare? Låt oss säga om en MacBook Air 13" kommer att räcka ( Intel Core i5, 4 GB, 128 GB (SSD), Intel HD Graphics 5000)? Eller se vilken MacBook Pro 13"" Retina ( Intel Core i5, 8 GB, 128 GB (SSD), Intel Iris-grafik 5100)? Eller kanske du behöver något kraftfullare (i7-processor, 16 GB minne, video ej inbyggd)? Det är uppenbart att om pengar tillåter är det bättre att köpa en snabbare, men tyvärr är det ekonomiskt besvärligt att köpa en MacBook av högsta kvalitet just nu. Å andra sidan vill jag inte ta en gammal MacBook från någon och sedan byta den efter sex månader.

3. Behöver jag en iOS-enhet för att börja lära mig utveckling? Eller kommer det att vara möjligt att på något sätt emulera en iPhone på Windows 7 / OS X för att se vad som händer? Eller görs detta på något annat sätt? :-) Återigen, köp inte ett stort problem, men behöver jag det nu? Och, om nödvändigt, en annan relaterad fråga: ska jag köpa något färskt (5 / 5s) eller inte viktigt (4s)?

4. Finns det ett behov av klassiska Objective-C-kurser? Eller är det bättre att ta reda på det själv från början? Jag bor i Minsk, kurserna är inget speciellt, allt är vanligt (tillvägagångssätt, tekniker, allmän nivå). Jag vet också att programmering är konstant självinlärning. Fråga: är det vettigt att gå en månadslång kurs för att få en startbas och sedan gå vidare på egen hand? Eller kan du börja hemma utan problem?

5. Hur planerar man självstudieprocessen? Inget nytt: jag läste det - jag provade det, det är inte klart - jag letade upp det på internet, det är väldigt oklart - låt oss gå till forumet? Det har varit så länge sedan jag lärde mig HTML. Men, naturligtvis, är Objective-C en allvarlig fråga, precis som all relaterad teknik, och kommer sådan utbildning att vara till någon nytta? Eller behöver du några specifikt system och en tydlig gradering av att öka din nivå (läs först en bok, ta sedan en kurs, studera sedan den här relaterade tekniken och så vidare)? Berätta för mig hur du var involverad i iOS-utvecklingen.

Framtida kollegor, jag är säker på att jag under inlärningsprocessen kommer att ha många frågor som det är synd att skapa nya ämnen för. Om någon av er har möjlighet att svara på mina frågor ett par gånger i veckan och ge korta råd om något ämne, vänligen meddela mig om det i era svar (lämna dina kontaktuppgifter och villkor (gratis/betald, etc.)). Alla har sin egen verksamhet, det finns väldigt få altruister - jag förstår allt, så mina vädjanden till dig kommer att vara så sällsynta som möjligt och rakt på sak.

Tack så mycket för din uppmärksamhet och intresse för mina frågor. Ha en trevlig vecka alla! ;-)

Yrket som programmerare är ett av de mest prestigefyllda och efterfrågade, det är ett faktum. Mjukvaruutvecklingsbranschen har sina nischer. Av dessa är den snabbast växande, och samtidigt den högst betalda, mjukvaruutveckling för mobila enheter. Som ni vet hände det sig att tre konstanta rivaler tog ledningen, och lämnade sina konkurrenter långt efter. Tricket är att en av dessa tre är den obestridda ledaren, medan någon alltid kommer ikapp.

Inom mobiltekniksegmentet är Apple utan tvekan ledande med sina iPhone smartphone. Vid en presentation i september visade företaget från Cupertino upp den 7:e versionen mobilenhet. Tillsammans med det introducerade Apple en ny version av sitt mobiloperativsystem. iOS-system 10. Nu är det det viktigaste operativsystemet i världen, precis som sina föregångare. Det följer att lära sig iOS-utveckling är den bästa investeringen av tid och pengar.

Apples ekosystem

Idag kommer vi att utveckla en enkel mobilapplikation för iOS. Naturligtvis är en inbyggd Mac bäst lämpad för detta. Men om du är en Windows-supporter eller om du helt enkelt inte har en Mac, kan du installera operativsystemet macOS under virtuell maskin på Windows. I Internets viddighet kommer det inte att vara svårt för dig att hitta en speciellt designad för PC. macOS-version, populärt kallad Hackintosh. Installera den gärna på en virtuell VMware-maskin, VirtualBox - ditt val. Låt mig varna dig omedelbart att PC-tangentbordet inte har några av tangenterna som finns på Mac-tangentbordet, och många av deras kombinationer kan inte tryckas in i Hackintosh. Detta förstör stämningen ganska mycket. Annars kan alla operationer som beskrivs nedan utföras framgångsrikt på Hackintosh.

Krävd kunskap

För att programmera i allmänhet och för iOS i synnerhet behöver du veta ganska mycket. Matematik och logik kanske inte behövs i början, men de kommer att efterfrågas senare. Modern teknik befriade programmeraren från behovet av att grundligt känna till datorarkitekturen, men det var nödvändigt att förstå grundläggande mekanismer som nummersystem, deras omvandling, hastigheten på subrutiner eller effektiviteten hos algoritmer (big O).

På en högre nivå behöver en iOS-utvecklare ha en djup kunskap om macOS-operativsystemet och iOS själv. Du måste också behärska Apples programmeringsspråk. Kunskaper om Delphi, C++, C# eller VB.NET kommer inte att hjälpa dig mycket. Apple har sitt eget ekosystem med sina egna språk: Objective-C och Swift. Naturligtvis har kunskap om C++ aldrig skadat någon program och inlägg baserade på det finns överallt, inte ens hos Apple. Men det mest använda per definition är Objective-C, helt enkelt för att det dök upp mycket tidigare (i mitten av åttiotalet av förra seklet), medan Swift för bara två år sedan (2014). Apple har stora förhoppningar på det nya språket och satsar stort på det. Objective-C används för att stödja den gamla programvaran, och den nya är skriven i Swift. Så det är bra för dig att känna till båda.

För att inte slösa tid kan alla dessa programmeringsspråk läras under strikt övervakning av lärare på webbplatsen.

Utvecklings verktyg

Som du vet är det huvudsakliga utvecklarverktyget för macOS och med det iOS programmeringsmiljön Xcode. Den innehåller verktyg för att skapa applikationer för Mac, iPhone, iPad, Apple TV, äpple klocka. Alla Apple-plattformar. Xcode innehåller Interface Builder, en kodredigerare som stöder allt moderna medel arbetar med kod. Dessutom, utan att lämna Xcode, kan du testa applikationen; om den är utvecklad för extern enhet, då kan du köra den i emulatorn.

Systemet innehåller emulatorer av alla enheter, nya versioner av vilka kan laddas ner. Dessutom innehåller Xcode grafiska verktyg för att analysera applikationsprestanda, inklusive verktyg för att diagnostisera CPU-belastning, lagringsanvändning (HDD, SDD och andra), belastning på grafikadaptern (från OpenGL-sidan).

Den 13 september släpptes en ny, efterlängtad version av utvecklingsmiljön 8.0. Stabila versioner kan laddas ner gratis från App Store. Alfa och betaversioner distribueras genom utvecklarprenumeration. Den åttonde versionen innehåller: en ny version av Swift 3-språket, ett inlärningsverktyg för Swift Playground för iPad, en ny version av Interface Builder, som har blivit snabbare och låter dig se applikationslayouten på olika plattformar, utan att behöva distribuera själva applikationen på simulatorn.

Xcode 8 kan användas för att utveckla applikationer för macOS Sierra, iOS 10, watchOS 3 och tvOS 10. Alla SDK:er är tillgängliga. Nya versioner av operativsystem började dyka upp konsekvent direkt efter Apples presentation, som ägde rum i början av september.

Objective-C språk

Låt oss kort komma ihåg den grundläggande informationen om språket. Objective-C är ett kompilerat objektorienterat programmeringsspråk som används för att skriva applikationer för Apple-system. Det är en superset eller, med andra ord, ett tillägg till C, som ärver från den sistnämnda syntaxen, datatyper, metoder för att övervaka programexekveringen och lägga till funktionerna för objektorienterad programmering - en beskrivning av klasser och metoder.

Liksom i C++, i Objective-C spelas den centrala rollen av objekt, som är associerade med fyra paradigm: abstraktion, inkapsling, arv, polymorfism. C++ är ett starkt skrivet språk, medan Objective-C är svagt skrivet eller har ett dynamiskt datatypsystem. Precis som Smalltalk skickar Objective-C meddelanden till objekt. Detta är en exceptionell möjlighet dynamiska språk, eftersom typen av objekt kontrolleras vid körning, inte vid kompilering.

Beskrivningen av Objective-C-språket tar upp mer än en voluminös volym. Därför, för att få objektiv kunskap, är det bekvämt att ta ""-kursen. En hel del av kursen är tillägnad detta språk.

iOS applikationsutveckling

Som ett exempel kommer vi att utveckla en mycket enkel applikation. Låt oss inte avvika från den heliga traditionen, låt oss hälsa världen. Men med hänsyn till att vi grafisk applikation, vi kommer att diversifiera det lite: vi lägger till en knapp, när vi klickar på kommer vi att visa eller dölja inskriptionen "Hej, värld".

Starta Xcode, i fönstret som visas, välj Skapa nytt projekt eller i huvudmenyn Arkiv -> Nytt -> Projekt. Nästa fönster kommer att be dig välja målplattform och applikationstyp.


I I detta fall vi är intresserade av iOS-plattform. Det finns sju typer av applikationer att välja mellan. Sex av dem är mallar för typiska applikationer av iOS-operativsystemet, som innehåller en annan uppsättning komponenter som standard. Den sjunde typen är lek.

Applikationstyper

  • Single View Application-mallen är designad för en enkel enskärmsapplikation. Förinställningen innehåller en View Controller-komponent, som låter dig anpassa utseendet på programmet med hjälp av Interface Builder-formulärdesignern.
  • Master Detail Application skapar en applikation som visar en samling objekt i en tabellvy. När du har valt en av dem visas detaljerad information om det objektet. Den första vyn är mästaren, den andra är detaljeringen.
  • Med hjälp av sidbaserad applikation kan du skapa applikationer som har flera skärmar, som sidor i en bok. Följaktligen skapas e-läsare från detta tomrum.
  • Applikation med flikar låter dig skapa applikationer där varje skärm kan växlas till när som helst, det vill säga varje skärm har sin egen knapp för att aktivera den, på vilken titeln visas. Ett exempel är iTunes.
  • Spelet används för att skapa en spelmall. Det finns fyra ramverk att välja mellan för att skapa ett spel: SpriteKit, SceneKit, OpenGL ES, Metal. Låt oss titta på dem kort.
    SpriteKit är ett system för 2D-rendering och animering av texturerade rektanglar - sprites. Vid visning av ramar används en standardslinga, bildrutan visas efter att allt innehåll i scenen har bearbetats.
    SceneKit är ett ramverk på hög nivå för att rendera 3D-grafik utan OpenGL. Den stöder laddning, manipulering av 3D-objekt. Den innehåller: en fysikmotor, en partikelgenerator och enkla vägen skript.
    OpenGL ES är industristandarden Datorgrafik. Låter dig visualisera 2D- och 3D-scener. Låter dig beskriva pipelinen för ett grafikkort: hörn genomgår transformation, sätts ihop till primitiver, som rastreras till en tvådimensionell bild och visas på skärmen. Programmerbara shaders kan inkluderas i pipeline.
    Metal är ett lågnivå-API som låter dig få ut det mesta av din videoadapter. Strömlinjeformade API:er tillsammans med förkompilerade shaders och multi-threading tar ditt spel till nya nivåer av prestanda och kvalitet.
  • Sticker Pack Application är en ny typ av applikation som introduceras i iOS 10 och Xcode 8. Det är en uppsättning enkla eller animerade bilder som används i nya iMessage. Det kräver ingen kodning för att skapa det.
  • iMessage Application är en ny typ av applikation som dök upp i iOS 10 och Xcode 8. Låter dig skapa tillägg för iMessage, till exempel för att köpa och ladda ner ditt dekalpaket. Du kan också använda iMessage API för att skapa din egen analog den här applikationen, inklusive att spela upp ljud, video, använda klistermärken och mer.

Skapar det första projektet

Som mall för vår ansökan kommer vi att välja Single View Application. Eftersom vi inte kommer att utvecklas stort program, kommer de medel som tillhandahålls av denna bestämmelse att räcka för oss. Klicka på Nästa. På nästa sida i guiden måste du ange ett projektnamn, till exempel ShowLab. I rullgardinsmenyn Språk lämnar du standardspråket markerat - Objective-C. Lämna sedan alternativet Universal i rullgardinsmenyn Enheter. Här bestämmer du för vilken enhet (iPhone eller iPad) applikationen skapas. Den universella klausulen betyder för båda. Låt oss avmarkera rutorna Inkludera enhetstester och Inkludera UI-tester. Vi behöver inga tester. Nästa. Välj en mapp för att spara projektet. Klicka nu på knappen Skapa.

Som ett resultat kommer ett fönster att öppnas med en lista över alla parametrar som tillämpas på projektet. I det här fönstret kan du ändra de parametrar som tidigare ställts in i guiden: orientering, målenhet, etc.


Först måste vi skapa applikationsgränssnittet. För att göra detta, välj Main.storyboard-filen i listan till vänster med ett klick (om den här filen inte är synlig, expandera innehållet i ShowLab-mappen). Till höger om listan kommer hela fönstret att vara upptaget av Interface Builder. Enhetslayouten kommer att visas i mitten. I det nedre högra hörnet av fönstret finns en komponentpanel. Dra etikett- och knappkomponenterna därifrån till layouten. Ovanför komponentpanelen finns en lista med egenskaper. Om du inte har det klickar du på knappen Visa attributinspektören, som finns under fönstrets titel på höger sida av gränssnittet.

Välj Label-komponenten i layouten och konfigurera dess Text-egenskap: lämna Vanligt urval i rullgardinsmenyn, ange önskad inskription på raden nedan, i vårt fall "Hello, World". Om texten inte passar inom etikettens kanter, ändra dem genom att dra i handtagen på komponentens kanter. För att centralisera den horisontellt, gå till sidan Storleksinspektör genom att klicka på knappen Visa storleksinspektören (till höger om Visa attributinspektören). På den här sidan, från rullgardinsmenyn Ordna, välj Centrera horisontellt i behållare.

Välj nu knappen Button, ändra dess Text-egenskap till önskad etikett - Switch. Du kan centrera den på samma sätt som beskrivs ovan.

Skapa en koppling mellan grafiska element och kod

I Visual Studio (eller Delphi) skapas ett objekt i koden automatiskt i samma ögonblick som du placerar en visuell komponent i formuläret. Detta händer inte i Xcode, men det orsakar inga problem.

Öppna innehållet i rubrikfilen ViewController.h i separat fönster genom att dubbelklicka på den. Den här filen innehåller en deklaration av en förlängning av klassen UIViewController, markerad med nyckelordet @interface. Denna funktion lades till i den andra versionen av Objective-C. Gör nu detta trick: flytta muspekaren till en komponent - en textetikett, håll nere Ctrl-tangenten Och vänster knapp möss. Flytta markören till fönstret med koden (fil ViewController.h), en blå linje följer markören. Släpp musen och tangenten i ViewController-gränssnittsbeskrivningen.

Fönstret för att skapa uttag visas.


Detta är en egenskap hos ett objekt som refererar till ett annat objekt (i det här fallet en visuell komponent). Du måste ange namnet på Outlet-objektet, genom vilket du kommer åt den visuella komponenten, låt det vara labb. Därefter väljs objekttypen, den väljs korrekt: UILabel.

Ännu lägre i listan Lagring, välj typ av objektreferens: svag eller stark. Om du väljer stark kommer objektet som egenskapen pekar på att existera så länge egenskapen pekar på det, i vilket fall det inte tas bort automatiskt när det inte längre används. Å andra sidan, när en svag referens är i kraft, kan objektet självförstöra. Så välj den svaga länktypen och klicka på knappen Anslut. Som ett resultat kommer följande rad att läggas till i koden:

@property (svag, icke-atomisk) IBOutlet UILabel *lab;

Låt oss se till att Outlet är en fastighet.

Låt oss nu skapa ett uttag för knappen. Algoritmen förblir densamma. Endast för egenskapen Name behöver du ange ett annat namn, till exempel men. Raden kommer att läggas till i koden:

@property (svag, icke-atomisk) IBOutlet UIButton *men;

Som ett resultat har vi två pekare till visuella komponenter: labb och men - respektive, en inskription och en knapp. Nu, med hjälp av pekare, kan vi manipulera komponenter i kod.

Sedan måste du skapa en knappklickshändelsehanterare. För att göra detta, öppna implementeringsfilen ViewController.m i ett separat fönster. På exakt samma sätt som du drog raden in i rubrikfilen för att skapa utloppet, från knappen, dra raden till implementeringsfilen och släpp den till den avslutande kommandoparentesen - @end. Ett fönster för att skapa en händelse visas, liknande fönstret för att skapa ett outlet. Du ser skillnaden: en länk till ett objekt skapas i header-filen, en metod skapas i implementeringsfilen.


Fyll i fältet Namn, dess värde representerar namnet på egenskapen - metoden. Låt det vara onClick. Lämna värdet i fältet Typ som standard - id. I Objective-C är denna typ alla andras förfader. I listrutan Händelse är Touch Up Inside-händelsen vald som standard, vilket inträffar när pekaren (mus, finger...) släpps över knappen, det vill säga det sista steget av att trycka på knappen. Det är vad vi behöver. I listan Argument lämnar vi standardvärdet: Avsändare är objektet som skickade denna signal, i vårt fall kommer det alltid att vara en knapp. Klicka på knappen Anslut. Som ett resultat kommer följande kod att läggas till:

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

Ett minus i början betyder en stängd metod (privat). Nyckelordet IBAction markerar händelser (metoder) för visuella komponenter från Interface Builder.

Mellan kommandoparenteserna kommer vi att skriva koden som exekveras när knappen trycks ned:

Lab.hidden = !_lab.hidden;

I denna kodrad inverterar vi värdet på den dolda egenskapen. Det är av typen BOOL, som har två värden: YES - true och NO - false (något ovanligt för Windows-programmerare, där sant och falskt).

Var uppmärksam på understrecket före namnet på objektet - etiketten (_lab). Utan det kommer kompileringen att misslyckas med ett fel. Understrecket läggs till automatiskt för objekt som finns i andra objekt; dvs i det här fallet finns labbobjektet i ViewController-objektet. Tidigare var detta en konvention som användes för att skilja mellan objekt som deklarerats som medlemmar av en klass och lokala objekt. Och nu är detta en strikt regel implementerad i språkkompilatorn.

Nu kan du kompilera applikationen och köra den på simulatorn. Vi valde simulatorn för iPhone 7, som ingår i Xcode 8. Kompilera och kör-knappen är en svart rektangel och finns i fältet överst i gränssnittet.

Efter att ha kompilerat applikationen, startat simulatorn och laddat vår applikation, kommer dess gränssnitt att visas på simulatorskärmen: inskriptionen "Hello, World" och Switch-knappen. Om du trycker på den sista försvinner inskriptionen om du trycker på den igen.

Vi har gjort en mycket enkel applikation för att förstå essensen av iOS-utveckling. Du kan lära dig mer detaljerad information om att skapa iOS-applikationer i Objective-C från kursen av våra vänner från GeekBrains "". Kursen ägnar två månader åt att lära sig detta språk. Under den första månaden - inledande ämnen, och i den andra - riktig kodning av professionella applikationer.

Snabbt språk

UNDER 2014 år Apple introducerade ett nytt programmeringsspråk - Swift. Det har snabbt blivit det mest omtalade och snabbast växande språket i världen. Detta är ett pålitligt, säkert, intuitivt språk för att utveckla applikationer för operativsystemen macOS, iOS, tvOS och watchOS för hela flottan av Apple-enheter. Swift är ett effektivt programmeringsspråk. Det är lättare att lära sig än dess föregångare, Objective-C, och Swift lånar några av sina bästa idéer. Samtidigt har utvecklarna gjort språken kompatibla, det vill säga ett program kan innehålla kod i både Swift och Objective-C. Det finns miljarder rader kod och hundratusentals äldre program skrivna i Objective-C i världen, så dess stöd kommer definitivt inte att överges.

När Swift utvecklades var målet att skapa det mest bekväma systemprogrammeringsspråket – snabbt, säkert och uttrycksfullt.

Algoritmen i Swift är 2,6 gånger snabbare än samma algoritm i Objective-C, och 8,4 gånger snabbare än i Python. Att använda Swift gör programutvecklingsprocessen mer flexibel och bekväm.

På grund av dess exponentiella utveckling släpptes Swift-språket till open source-gemenskapen den 3 december 2015. Samtidigt övervakar Apple strikt dess utveckling och organiserar en kommitté för dess utveckling. Nu finns Swift inte bara tillgängligt i Apples system, men även på Linux. Alla ytterligare verktyg för att arbeta med språket, inklusive en debugger, standardbibliotek, pakethanterare, är också gratis och öppna.

Detta språk är framtiden. Du kan ta reda på mer detaljerad information om det från den nämnda kursen från GeekBrains "", där en hel månad ägnas åt att studera av detta språk programmering.

App Store

Enkelt uttryckt är App Store en innehållsbutik för hela utbudet av Apple-enheter. Här kan du köpa spel och applikationer från både stora företag och oberoende utvecklare. Varje utvecklare, oavsett vilket land han bor i, kan sälja eller distribuera sina program gratis på denna digitala distributionsplattform. För att börja göra detta måste du registrera dig som utvecklare och köpa en licens för att sälja dina applikationer. Detta är en avgift för den tillhandahållna tjänsten och utvecklingen av App Store.

Resultat

Vi har utvecklat en enkel applikation för iOS-mobiloperativsystemet med Xcode-programmeringssystemet tillsammans med Objective-C-språket. Testad färdig ansökan på iPhone 7-simulatorn Vi lärde oss hur man bygger användargränssnitt med hjälp av Interface Builder, hur man associerar grafiska element med applikationskod, hur man skapar händelsehanterare. Vi bekantade oss med grunderna i Objective-C. Dessutom uppmärksammade vi det lovande Swift-språket, som används för att utveckla kraftfulla och säkra applikationer för "äpple"-ekosystemet.

Det studerade materialet är dock bara början. För att intensivt uppgradera dig själv i riktning mot mobilkodning och utveckling av faktiskt säljande applikationer rekommenderar vi att du tar kursen "" på våra vänners hemsida.

Det här är en värdig kurs: efter att ha tagit den kommer du definitivt inte att slösa bort din tid. Det börjar med två detaljerade kurser i Java-språket, följt av att lära sig grundläggande programmering för Android-mobiloperativsystemet. Fortsatt kurs om databaser i allmänhet och SQL-språk särskilt. Därefter en fördjupningskurs i att utveckla professionella Android-applikationer. Efter detta kommer studievektorn att gå mot Apple-system: två detaljerad kurs om Objective-C-språket och en användbar kurs om Swift.


Kursföreläsningarna hålls av professionella lärare med lång erfarenhet av mjukvaruutveckling. Om något är oklart kan du ställa en fråga utan dröjsmål. I allmänhet är lärande på GeekBrains en levande process, du kan kommunicera, ställa frågor och hjälpa till med svar. För att testa den inhämtade kunskapen utfärdar lärare läxa, som sedan kontrolleras. Efter avslutad utbildning kommer du att ha en garanterad praktikplats i ett IT-företag. Och då beror allt på dig, om du visar dig själv som en kompetent specialist kommer du att bli inbjuden att arbeta.

Specialprojekt med företaget

Så, tanken slog dig också: " Hur kan jag lära mig att skriva program för iPhone?«, « Hur kan jag göra min egen mobil app? «, « Hur tjänar man miljoner utan att göra något?". Jag ska försöka svara på dessa frågor steg för steg (förutom den sista).

Vad du behöver veta från första början

Att skapa program för iOS Du måste officiellt ha en dator Äpple (iMac eller Macbook). Men för att vara helt ärlig så behöver du operativ system OS X, så många människor är listiga i början och lyckas använda Hackintosh (Hackintosh), det vill säga de kör OS X på vanliga datorer– Det här är ett ekonomiskt alternativ, olagligt och ganska besvärligt setupmässigt. Jag rekommenderar att, eftersom du bestämt har bestämt dig för att bli iOS-utvecklare, köp en enkel Macbook eller Mac Mini, eller till och med en begagnad (vilken som helst som släppts sedan 2010).

Nästa - vad ska man skriva om. Ansökningar om iOS skriven på programmeringsspråk Snabb eller Mål-C, och all magi händer i programmet Xcode(fri). Snabbär ett väldigt nytt språk som Apple nyligen introducerade (mitten av 2014) och som nu aktivt förmedlar tanken att du bara behöver programmera i det, det är framtiden, det är modernare och snabbare. Och de har rätt, lär dig Snabb. Mål-C tvärtom, ett språk med ett långt förflutet, så det är mycket svårare för nybörjare att förstå, vilket inte förnekar dess kraft och rikedomen av befintliga utvecklingar och böcker om det (vilket inte kan sägas om Swift för tillfället). Och ändå, jag upprepar, undervisa Snabb.

Om du vill göra plattformsoberoende applikationer (samtidigt för iOS och Android) - lär dig C# och använda utvecklingsmiljön Xamarin(betald). Om du vill göra spel över plattformar, ladda ner utvecklingsmiljön Unity3D(shareware), lär dig den som redan nämnts ovan C#.

Dessutom, för att starta dina applikationer på iPhone/iPad (även i utvecklingsstadiet) och sedan ladda upp dem till AppStore, måste du köpa en status Apple-utvecklare för $100 per år. Efter köpet motiverar detta dig återigen att åtminstone få tillbaka pengarna :)

När jag ställde mig denna fråga tänkte jag att jag bara behövde ta en bra tjock "bibel" om Objective-C (låt mig påminna dig om att Swift ännu inte existerade) och förstå den hemliga kunskapen om programmeringsspråket kapitel för kapitel. Alla rekommenderade Stephen Kochans bok " Objective-C programmering«. Fel! Upprepa inte mitt misstag. Ja, grunderna i språket förstods, boken är bra, men det här är en uppslagsbok och är långt ifrån riktig applikationsutveckling från grunden. För att lära dig programmera måste du "smutsa ner händerna", och försöka skriva det första, om än väldigt enkelt, men arbetssätt applikationer. Du behöver lektioner med exempel. Från enkel till komplex. Det är också viktigt att sätta upp ett riktigt mål, det första programmet som du vill skriva och släppa i AppStore. Varje lektion eller bok ska ge dig kunskap som du kan tillämpa på ditt projekt. Gör inte misstaget med den "evige studenten" som bara gör det han studerar, studerar, studerar, utan skjuter upp ögonblicket att börja på riktigt arbete. Jag satte mig till exempel som mål att göra en radioapplikation och släppa den på AppStore om en månad – och jag lyckades.

Om du kan engelska, betrakta dig själv som väldigt lycklig, nu ska jag berätta var du kan få all kunskap. Tyvärr finns det väldigt lite information på ryska och det är ofta sent (och översatt från engelska).

iOS-lärlingen

Den bästa engelskspråkiga utbildningsplatsen - RayWenderlich.com. Det är megacoolt av tre skäl: 1) du kan läsa massor av lektioner gratis, från grunderna till att försöka upprepa befintliga. framgångsrika ansökningar(inklusive i Swift), samtidigt som allt är skrivet uppriktigt och med humor; 2) det finns videolektioner där (om än betalda); 3) Den viktigaste anledningen- de har böcker för nybörjare som kommer att lära dig från grunden med exemplet att skapa applikationer, mycket tydligt, med bilder (ja, som vi vill). Böckerna är betalda (endast den första delen ges gratis), men de är värda det. Jag köpte dem alla och de har sedan länge betalat för sig då de bygger en bra grund sten för tegel. Det går inte att jämföra med att bara läsa olika lektioner blandas på samma plats. Börja med att köpa iOS-lärlingen (den första delen kan laddas ner gratis). Den kommer att lära dig hur du skapar dina första applikationer i Swift. De har också böcker om spelutveckling på SpriteKit(Apples ramverk för spelutveckling).

Den näst mest användbara resursen är AppCoda. Det är enklare än RayWenderlich, men kärnan är densamma - vi läser Swift-lektioner, lär av exempel. De har även egna böcker (betalda), förutom gratislektioner.

Tänk om du inte kan engelska - oj, det finns helt enkelt inga sådana ryska internetresurser. Böcker på ryska? Naturligtvis hittar du några böcker om Ozon, men de är alla föråldrade och kommer inte att lära dig Swift-språket (för närvarande är allt bara Objective-C).

Det bästa jag kan erbjuda dig är "iOS-utvecklingshubben" på Habré, nya artiklar dyker ständigt upp där, men det är väldigt kaotiskt.

Var man hittar svaret, något fungerar inte

Under programmeringen kommer du ständigt att ha frågor: du vet inte hur man gör något, eller så gör du något, men programmet svarar med ett fel. Du kan hitta svar (eller ställa en fråga) på två webbplatser:

StackOverflow- det största förrådet av färdiga svar på engelska. Jag hittar 80% av svaren där.

Google- det är banalt, bara genom att skriva en fråga i sökningen kan du hitta svaret. Om du inte förstår det direkt, lek med formuleringen av frågan.

Brödrost- liknande StackOverflow, men på ryska. Det är fortfarande svårt att hitta svar här, eftersom databasen med frågor ännu inte är särskilt stor. Men du kan fråga - det finns tillräckligt med proffs på resursen som kommer att svara dig.

Eller så kan du fråga mig. Gratis nu :)







2024 gtavrl.ru.