Fort. Åpen kildekode programmeringsspråk

Hver dag øker antallet mennesker som drømmer om å lære å lage programmer. Etter å ha samlet informasjon på Internett, kommer ideen til dem at det mest lovende er utviklingen av applikasjoner for iOS - operativsystem fra Apple. Faktisk er drømme en ting, men programmering er en annen. Det er ikke lett å lage din egen søknad. Men det er ikke uoverkommelig vanskelig heller. Hva trengs for dette?

Programmeringsspråk

For å skrive programmer for en bestemt plattform, må du bruke et spesifikt programmeringsspråk. Apputvikling for iOS og Android er annerledes. Hvis du for Google-plattformen må velge Java-språket, er valget for iOS mellom Objective-C og Swift. Lang tid Utviklingen for iOS-plattformen ble kun utført ved bruk av programmeringsspråket Objective-C. Selv om den er mange år gammel, er den fortsatt under utvikling og brukt av et stort antall utviklere. Men ulempen er den høye adgangsbarrieren.

Siden Apples største profittkilde er appbutikken, er ansatte interessert i mer nyttige og interessante verktøy. Av denne grunn holdes det jevnlig en utviklerkonferanse for å snakke om endringer i operativsystemer. I 2014 ble utviklere vist det nyeste Swift-programmeringsspråket, som brukes til å utvikle applikasjoner for iOS. Swift er lett å lære ettersom den har en veldig enkel syntaks og er sterkt skrevet. Dette språket passer veldig godt for de som ønsker å lære på egenhånd.

Hva du trenger for å komme i gang

I tillegg til grunnleggende programmeringskunnskaper, må du ha følgende:

  • en datamaskin eller bærbar PC med OSX-operativsystemet ombord;
  • Xcode utviklingsmiljø, som er gratis.

Dette settet lar deg kjøre applikasjoner i en spesiell simulator direkte på datamaskinen. Men husk at du i fremtiden kanskje må betale $99 for å få et årlig abonnement på utviklerprogrammet. Etter betaling vil du kunne:

  • kjøre utviklede programmer ikke i en simulator, men på ekte enheter;
  • plasser applikasjoner i App Store;
  • laste ned nye versjoner av utviklingsmiljøet og iOS.

Nye versjoner av Xcode har introdusert et sandkasseelement kalt Playground. Her kan utvikleren eksperimentere med et nytt programmeringsspråk.

Mange ønsker å begynne å skrive programmer, men de synes det er ekstremt vanskelig. For å bli profesjonell må du selvfølgelig ha mye kunnskap og lang erfaring bak deg. Men for å lage en liten applikasjon er det ikke nødvendig å være en profesjonell.

Hvor begynner utviklingen av applikasjoner for iOS og Android? Læring skjer ved å gjøre. Derfor må vi begynne med det. Mye teori er ikke alltid bra. Tross alt, hvis en person leser ti fra perm til perm, vil han ikke gjøre det. Vi må handle.

Lekeplass

Denne sandkassen er et fantastisk miljø for å lære et programmeringsspråk. Hvordan ser hun ut? Brukeren legger inn en linje programkode og ser umiddelbart resultatet av henrettelsen. Når det blir klart at det skrevne fragmentet fungerer som det skal, kan du ganske enkelt overføre det til prosjektet. Ved å bruke sandkassen kan du løse problemer som:

  • mestre syntaksen til et programmeringsspråk;
  • forbedre programmeringsferdighetene ved å eksperimentere med nye APIer;
  • utføre enkle aritmetiske beregninger;
  • utvikle en ny algoritme og overvåke hvert trinn.

iOS-apputvikling: hvor skal du begynne

Teori er selvfølgelig bra, men som nevnt tidligere er praksis nødvendig. For å bli kjent med sandkassen, må du starte Xcode-utviklingsmiljøet. Etter lansering kan brukeren se et vindu der det foreslås opprettet nytt prosjekt eller kjør Playground. Vi trenger et annet poeng. Nå må du komme opp med et navn og lagre "sandkassen" til et hvilket som helst praktisk sted på datamaskinen din. For øvrig er det også mulig å utvikle applikasjoner for iOS på Windows, men da må en lang rekke problemer løses. Dette inkluderer installasjon av et piratkopiert operativsystem, redigering av viktige filer og mange feil og krasjer.

Etter lagring vil selve lekeplassen som trengs, bli lansert.

Ved første øyekast er det ikke noe interessant her. Men så snart du skriver inn koden din der, vil utseendet umiddelbart endre seg.

For å komme i gang kan du prøve å skrive følgende:

for var y = 0; y< 10; ++y {

println ("resultat: (z)")

Etter dette vil sandkassen endre utseende. Kolonnen til høyre (resultatruten) viser verdiene for hver rad som oppnås etter utførelse. Også i høyre kolonne kan du aktivere visning av et tidspanel, som gjør det mulig å spore endringer i det valgte uttrykket over tid. Konsollutgangen med teksten som vil bli sendt ut av programmet vises også her.

Kommentarkode

Utvikling av applikasjoner for iOS, så vel som for andre plattformer, er ikke komplett uten kommentarer, som er nødvendig for å gjøre det enklere for utvikleren å navigere i koden. Kommentarer er linjer som ignoreres under programkjøring. De kan være enten enlinje eller flerlinje.

Variabler

Så søknader er skrevet på et programmeringsspråk. Grunnlaget for ethvert språk er variabler. Å utvikle applikasjoner for iOS og Android uten å bruke variabler er umulig. Som navnet antyder, er det en beholder som har en mutbar verdi. Hver variabel må ha unikt navn og kan inneholde både numerisk og tekstverdier. I programmeringsspråket Swift er variabler definert ved hjelp av ordene var og la. I det andre tilfellet kan ikke variabelen endres og må initialiseres når den deklareres. I det første tilfellet initialiseres variabelen umiddelbart før bruk.

Hver variabel har en eller annen type. Disse kan være strenger, flyttall (brøk), boolske verdier (sant og usant).

Utdata av resultater

Resultatet av programkjøringen sendes ut til konsollen. Hva det er? Det er dette som lar brukeren samhandle med datamaskinen. Dermed ble utgangskonsollen tidligere kalt skjermen, og inngangskonsollen var tastaturet. Nå har betydningen av begrepene endret seg litt. Dette er navnet på et programvindu beregnet for input og output av kommandoer. Å utvikle applikasjoner for iOS krever ofte utdata av noen data. For å gjøre dette, gir Swift-språket utskrifts- og println-kommandoene. Den første skiller seg fra den andre ved at den automatisk starter på en ny linje.

Funksjoner

Følgende grunnleggende konsept i programmering - funksjoner. Dette er en viss sekvens av handlinger som utføres spesifikk oppgave. Hver funksjon kan ta noen verdier og også returnere et resultat. For å bruke denne konstruksjonen må du først deklarere den ved å bruke func nøkkelordet. Det etterfølges av navnet, samt parenteser. Hvis en verdi skal returneres, er typen angitt etter parentesene. Hvis det ikke er noen returverdi, kan typen utelates eller en "tom" type – void – kan spesifiseres. Parentesen inneholder verdiene som funksjonen godtar. For å kalle en funksjon, spesifiser dens navn og verdier for argumentene.

Du kan sørge for at parameternavnet er spesifisert når du kaller en funksjon. For å gjøre dette er det innrammet med "hash"-symbolet.

På denne måten kan du skrive eventuelle nyttige funksjoner som for eksempel kan beregne valutakurser eller konvertere en måleenhet til en annen. Hver gang du skal bruke dem, trenger du bare å ringe disse funksjonene, og ikke skrive koden igjen.

Hva nå?

Så, som det fremgår av det ovenstående, kan utvikling av applikasjoner for iOS med egne hender godt være innenfor evnene til alle. Hovedsaken er å lære det grunnleggende i programmeringsspråket, bli kjent med utviklingsmiljøet og øve mye og ofte. Det er praksis som gjør betydelige fremskritt. Men det som er beskrevet her er bare begynnelsen. Det vil komme mye interessant, komplekst og spennende i programmeringsverdenen. Dette vil hjelpe deg å alltid holde hjernen i god form, skape noe nytt og tjene gode penger. Tross alt brukes Apple-teknologi over hele verden. Derfor kan søknaden din bli verdsatt av millioner av mennesker.

Yrket som programmerer er et av de mest prestisjefylte og etterspurte, det er et faktum. Programvareutviklingsindustrien har sine nisjer. Av disse er den raskest voksende, og samtidig høyest betalte, programvareutvikling for mobile enheter. Som du vet, skjedde det slik at tre konstante rivaler tok ledelsen, og etterlot sine konkurrenter langt bak. Trikset er at en av disse tre er den ubestridte lederen, mens noen alltid tar igjen.

I mobilteknologisegmentet er Apple utvilsomt ledende med sin iPhone-smarttelefon. På en presentasjon i september demonstrerte Cupertino-selskapet den 7. versjonen av mobilenheten. Sammen med det introduserte Apple en ny versjon av mobiloperativsystemet iOS 10. Nå er det det mest betydningsfulle operativsystemet i verden, i likhet med sine forgjengere. Det følger at det å lære iOS-utvikling er den beste investeringen av tid og penger.

Apples økosystem

I dag skal vi utvikle en enkel mobil applikasjon for iOS. Selvfølgelig er en innfødt Mac best egnet for dette. Men hvis du er en Windows-supporter eller du rett og slett ikke har en Mac, kan du installere macOS-operativsystemet under virtuell maskin på Windows. I det store Internett vil det ikke være vanskelig for deg å finne en spesialdesignet for PC. macOS-versjon, populært kalt Hackintosh. Installer den gjerne på en virtuell VMware-maskin, VirtualBox - ditt valg. La meg advare deg med en gang om at PC-tastaturet ikke har noen av tastene som er på Mac-tastaturet, og mange av kombinasjonene deres kan ikke trykkes i Hackintosh. Dette ødelegger ganske mye stemningen. Ellers kan alle operasjonene beskrevet nedenfor utføres på Hackintosh.

Nødvendig kunnskap

For å programmere generelt og for iOS spesielt må du kunne ganske mye. Matematikk og logikk er kanskje ikke nødvendig med det første, men det vil bli etterspurt senere. Moderne teknologier lettet programmereren for behovet for å kjenne datamaskinarkitekturen grundig, men det var nødvendig å forstå grunnleggende mekanismer som tallsystemer, konverteringen av dem, hastigheten til subrutiner eller effektiviteten til algoritmer (big O).

På et høyere nivå må en iOS-utvikler ha dyp kunnskap om macOS-operativsystemet og selve iOS. Du må også beherske programmeringsspråket Apple. Kunnskap om Delphi, C++, C# eller VB.NET vil ikke hjelpe deg mye. Apple har sitt eget økosystem med sine egne språk: Objective-C og Swift. Selvfølgelig har kunnskap om C++ aldri skadet noen programmer og innlegg basert på det finnes overalt, selv hos Apple. Men den mest brukte per definisjon er Objective-C, rett og slett fordi den dukket opp mye tidligere (på midten av åttitallet av forrige århundre), mens Swift for bare to år siden (i 2014). Apple har store forhåpninger til nytt språk og investerer mye i det. Objective-C brukes til å støtte den gamle programvaren, og den nye er skrevet i Swift. Så det er bra for deg å vite begge deler.

For ikke å kaste bort tid, kan alle disse programmeringsspråkene læres under streng tilsyn av lærere på nettstedet.

Utviklingsverktøy

Som du vet hovedverktøy utvikler for macOS og sammen med det iOS - programmeringsmiljø Xcode. Den inkluderer verktøy for å lage applikasjoner for Mac, iPhone, iPad, Apple TV, Apple Watch. Alle Apple-plattformer. Xcode inneholder Interface Builder, en kodeeditor som støtter alt moderne virkemidler jobber med kode. I tillegg, uten å forlate Xcode, kan du teste applikasjonen; hvis den er utviklet for ekstern enhet, så kan du kjøre den i emulatoren.

Systemet inkluderer emulatorer av alle enheter, nye versjoner av disse kan lastes ned. I tillegg inneholder Xcode grafiske verktøyå analysere applikasjonsytelse, inkludert verktøy for å diagnostisere CPU-belastning, lagringsbruk (HDD, SDD og andre), belastning på grafikkadapteren (fra OpenGL-siden).

13. september ble en ny, etterlengtet versjon av utviklingsmiljøet 8.0 sluppet. Stabile versjoner kan lastes ned gratis fra App Store. Alfaer og betaer distribueres etter utviklerabonnement. Den åttende versjonen inkluderer: en ny versjon av Swift 3-språket, et læringsverktøy for Swift Playground for iPad, en ny versjon av Interface Builder, som har blitt raskere og lar deg se applikasjonsoppsettet på forskjellige plattformer, uten å måtte distribuer selve applikasjonen på simulatoren.

Xcode 8 kan brukes til å utvikle applikasjoner for macOS Sierra, iOS 10, watchOS 3 og tvOS 10. Alle SDK-er er tilgjengelige. Nye versjoner av operativsystemer begynte å dukke opp konsekvent rett etter Apples presentasjon, som fant sted i begynnelsen av september.

Objective-C-språk

La oss kort huske den grunnleggende informasjonen om språket. Objective-C - Objekt kompilert språkorientert programmering som brukes til å skrive applikasjoner for Apple-systemer. Det er et supersett eller, med andre ord, et tillegg til C, som arver fra sistnevnte syntaks, datatyper, metoder for å overvåke fremdriften av programkjøring og legge til objektbaserte funksjoner til det orientert programmering- beskrivelse av klasser og metoder.

Som i C++, spilles i Objective-C den sentrale rollen av objekter, som er assosiert med fire paradigmer: abstraksjon, innkapsling, arv, polymorfisme. C++ er et sterkt skrevet språk, mens Objective-C er svakt skrevet eller har et dynamisk datatypesystem. Som Smalltalk sender Objective-C meldinger til objekter. Dette er en eksepsjonell funksjon ved dynamiske språk fordi typen objekter sjekkes under kjøring i stedet for ved kompilering.

Beskrivelsen av Objective-C-språket tar opp mer enn ett voluminøst bind. Derfor, for å få objektiv kunnskap, er det praktisk å ta "" kurset. En hel del av kurset er dedikert til dette språket.

iOS-applikasjonsutvikling

Som et eksempel vil vi utvikle en veldig enkel applikasjon. La oss ikke avvike fra den hellige tradisjonen, la oss hilse verden. Men gitt at vi har grafisk applikasjon, vil vi diversifisere det litt: vi vil legge til en knapp, når du klikker, vil vi vise eller skjule inskripsjonen "Hei, verden".

Start Xcode, i vinduet som kommer opp, velg Opprett nytt prosjekt eller i hovedmenyen Fil -> Nytt -> Prosjekt. Det neste vinduet vil be deg velge målplattform og applikasjonstype.


I i dette tilfellet vi er interessert i iOS-plattform. Det er syv typer applikasjoner å velge mellom. Seks av dem er maler for typiske applikasjoner av iOS-operativsystemet, som inneholder et annet sett med komponenter som standard. Den syvende typen er lek.

Søknadstyper

  • Single View-applikasjonsmalen er designet for en enkel applikasjon på én skjerm. Arbeidsstykket inkluderer en komponent Vis kontrolleren, som lar deg tilpasse utseendet til applikasjonen din ved å bruke Interface Builder-skjemadesigneren.
  • Master Detail Application oppretter en applikasjon som viser en samling av objekter i en tabellvisning. Etter å ha valgt en av dem, vises detaljert informasjon om det objektet. Den første visningen er masteren, den andre er detaljeringen.
  • Ved å bruke sidebasert applikasjon kan du lage applikasjoner som har flere skjermer, som sider i en bok. Følgelig opprettes e-lesere fra denne tomme.
  • Fanebasert applikasjon lar deg lage applikasjoner der hver skjerm kan byttes til når som helst, det vil si at hver skjerm har sin egen knapp for å aktivere den, som tittelen vises på. Et eksempel er iTunes.
  • Spillet brukes til å lage en spillmal. Det er fire rammeverk å velge mellom for å lage et spill: SpriteKit, SceneKit, OpenGL ES, Metal. La oss se kort på dem.
    SpriteKit er et system for 2D-gjengivelse og animasjon av teksturerte rektangler – sprites. Ved visning av rammer brukes en standard loop, rammen vises etter at alt innholdet i scenen er behandlet.
    SceneKit er et rammeverk på høyt nivå for å gjengi 3D-grafikk uten OpenGL. Den støtter lasting og manipulering av 3D-objekter. Den inkluderer: en fysikkmotor, en partikkelgenerator og en enkel skriptmetode.
    OpenGL ES er en standard innen datagrafikk. Lar deg visualisere 2D- og 3D-scener. Lar deg beskrive rørledningen for et skjermkort: hjørner gjennomgår transformasjon, settes sammen til primitiver, som rastreres til et todimensjonalt bilde og vises på skjermen. Programmerbare shaders kan inkluderes i rørledningen.
    Metal er et lavt nivå API som lar deg få mest mulig ut av skjermkortet ditt. Strømlinjeformede APIer, sammen med forhåndskompilerte shaders og multi-threading, tar spillet ditt til nye nivåer av ytelse og kvalitet.
  • Sticker Pack Application er en ny type applikasjon introdusert i iOS 10 og Xcode 8. Det er et sett med enkle eller animerte bilder som brukes i den nye iMessage. Det krever ikke koding for å lage det.
  • iMessage Application er en ny type applikasjon som dukket opp i iOS 10 og Xcode 8. Lar deg lage tillegg for iMessage, for eksempel for å kjøpe og laste ned klistremerkepakken din. Du kan også bruke iMessage API for å lage din egen analoge denne søknaden, inkludert avspilling av lyd, video, bruk av klistremerker og mer.

Opprette det første prosjektet

Vi vil velge Single View Application som mal for vår søknad. Siden vi ikke vil utvikle oss stort program, vil midlene gitt av denne bestemmelsen være nok for oss. Klikk Neste. På neste side av veiviseren må du skrive inn et prosjektnavn, for eksempel ShowLab. I Språk-rullegardinlisten lar du standardspråket være valgt - Objective-C. Deretter, i rullegardinlisten Enheter, forlater du Universal-valget. Her bestemmer du for hvilken enhet (iPhone eller iPad) applikasjonen opprettes. Den universelle klausulen betyr for begge. La oss fjerne merket for Inkluder enhetstester og Inkluder UI-tester, vi trenger ingen tester. Neste. Velg en mappe for å lagre prosjektet. Klikk nå på Opprett-knappen.

Som et resultat vil et vindu åpnes med en liste over alle parametere som er brukt på prosjektet. I dette vinduet kan du endre parametrene som tidligere er angitt i veiviseren: retning, målenhet osv.


Først må vi lage applikasjonsgrensesnittet. For å gjøre dette, velg Main.storyboard-filen i listen til venstre med ett klikk (hvis denne filen ikke er synlig, utvider du innholdet i ShowLab-mappen). Til høyre for listen vil hele vinduet være okkupert av Interface Builder. Enhetsoppsettet vil vises i midten. I nedre høyre hjørne av vinduet er det et komponentpanel. Dra etikett- og knappkomponentene derfra til oppsettet. Over komponentpanelet er en liste over egenskaper. Hvis du ikke har det, klikker du på Vis attributtinspektøren-knappen, som ligger under vindustittelen på høyre side av grensesnittet.

Velg Label-komponenten i oppsettet og konfigurer den Tekstegenskap: la Plain-valget være i rullegardinlisten, skriv inn ønsket inskripsjon i linjen nedenfor, i vårt tilfelle "Hello, World". Hvis teksten ikke passer innenfor etikettens kant, endrer du dem ved å dra i håndtakene på kantene av komponenten. For å sentralisere den horisontalt, gå til siden for størrelsesinspektør ved å klikke på knappen Vis størrelsesinspektøren (til høyre for Vis attributtinspektøren). På denne siden, fra Arranger-rullegardinlisten, velg Sentrer horisontalt i container.

Velg nå Button-komponenten, endre tekstegenskapen til ønsket etikett - Switch. Du kan sentrere den på samme måte som beskrevet ovenfor.

Skape en sammenheng mellom grafiske elementer og kode

I Visual Studio (eller Delphi) opprettes et objekt i koden automatisk i det øyeblikket du plasserer en visuell komponent på skjemaet. Dette skjer ikke i Xcode, men det forårsaker ikke problemer.

Åpne innholdet i ViewController.h-headerfilen i eget vindu ved å dobbeltklikke på den. Denne filen inneholder en erklæring om en utvidelse av UIViewController-klassen, merket med @interface nøkkelordet. Denne funksjonen ble lagt til den andre versjonen av Objective-C. Gjør nå dette trikset: flytt musepekeren til en komponent - en tekstetikett, hold nede Ctrl-tasten Og venstre knapp mus. Flytt markøren til vinduet med koden (fil ViewController.h), en blå linje vil følge markøren. Slipp musen og tasten inne i ViewController-grensesnittbeskrivelsen.

Vinduet for opprettelse av uttak vises.


Dette er en egenskap til et objekt som refererer til et annet objekt (i dette tilfellet en visuell komponent). Du må skrive inn navnet på Outlet-objektet, som du får tilgang til den visuelle komponenten med, la det være lab. Deretter er objekttypen valgt, den er valgt riktig: UILabel.

Enda lavere i Lagringslisten velger du typen objektreferanse: svak eller sterk. Hvis du velger sterk, vil objektet som egenskapen peker på eksistere så lenge egenskapen peker til det, i så fall vil det ikke automatisk slettes når det ikke lenger brukes. På den annen side, når en svak referanse er i kraft, kan objektet selvdestruere. Så velg den svake lenken og klikk på Koble til-knappen. Som et resultat vil følgende linje bli lagt til koden:

@property (svak, ikke-atomisk) IBOutlet UILabel *lab;

La oss sørge for at Outlet er en eiendom.

La oss nå lage et uttak for knappen. Algoritmen forblir den samme. Bare for Name-egenskapen må du angi et annet navn, for eksempel men. Linjen vil bli lagt til koden:

@property (svak, ikke-atomisk) IBOutlet UIButton *men;

Som et resultat har vi to pekere til visuelle komponenter: lab og men - henholdsvis en inskripsjon og en knapp. Nå, ved å bruke pekere, kan vi manipulere komponenter i kode.

Deretter må du opprette en hendelsesbehandler med knappeklikk. For å gjøre dette, åpne implementeringsfilen ViewController.m i et eget vindu. På nøyaktig samme måte som du dro linjen inn i overskriftsfilen for å opprette uttaket, fra knappen, dra linjen inn i implementeringsfilen og slipp den til den avsluttende kommandobraketten - @end. Et vindu for å opprette en begivenhet vil vises, lik vinduet for å opprette et utsalgssted. Du ser forskjellen: en lenke til et objekt opprettes i header-filen, en metode opprettes i implementeringsfilen.


Fyll ut Navn-feltet, verdien representerer navnet på egenskapen - metoden. La det være onClick. La Type-feltets verdi være standard - id. I Objective-C-språket er denne typen stamfaren til alle andre. I rullegardinlisten Hendelse er Touch Up Inside-hendelsen valgt som standard, som oppstår når pekeren (mus, finger...) slippes over knappen, det vil si det siste stadiet med å trykke på knappen. Det er det vi trenger. I Argument-listen vil vi la standardverdien være: Avsender er objektet som sendte dette signalet, i vårt tilfelle vil det alltid være en knapp. Klikk på Koble til-knappen. Som et resultat vil følgende kode bli lagt til:

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

Et minus i begynnelsen betyr en lukket metode (privat). Nøkkelordet IBAction markerer hendelser (metoder) av visuelle komponenter fra Interface Builder.

Mellom kommandoparentesene vil vi skrive koden som utføres når knappen trykkes:

Lab.hidden = !_lab.hidden;

I denne kodelinjen inverterer vi verdien av den skjulte egenskapen. Den er av typen BOOL, som har to verdier: YES - true og NO - false (noe uvanlig for Windows-programmerere, hvor sant og usant).

Vær oppmerksom på understrekingstegnet før navnet på objektet - etiketten (_lab). Uten det vil kompilering mislykkes. Understrekingen legges til automatisk for objekter inne i andre objekter; det vil si at i dette tilfellet er lab-objektet inneholdt i ViewController-objektet. Tidligere var dette en konvensjon som ble brukt for å skille mellom objekter erklært som medlemmer av en klasse og lokale objekter. Og nå er dette en streng regel implementert i språkkompilatoren.

Nå kan du kompilere applikasjonen og kjøre den på simulatoren. Vi valgte simulatoren for iPhone 7, inkludert i Xcode 8. Kompiler og kjør-knappen er et svart rektangel og er plassert i linjen øverst i grensesnittet.

Etter å ha kompilert applikasjonen, startet simulatoren og lastet applikasjonen vår, vil grensesnittet vises på simulatorskjermen: inskripsjonen "Hello, World" og Switch-knappen. Hvis du trykker på den siste, vil inskripsjonen forsvinne hvis du trykker på den igjen, vises den igjen.

Vi har laget en veldig enkel applikasjon for å forstå essensen av iOS-utvikling. Du kan lære mer detaljert informasjon om å lage iOS-applikasjoner i Objective-C fra kurset av våre venner fra GeekBrains "". Kurset bruker to måneder på å lære dette språket. I løpet av den første måneden - innledende emner, og i løpet av den andre - ekte koding profesjonelle applikasjoner.

Rask språk

I 2014 introduserte Apple et nytt programmeringsspråk – Swift. Det ble raskt det mest omtalte og raskest voksende språket i verden. Dette er et pålitelig, sikkert, intuitivt språk for å utvikle applikasjoner for operativsystemene macOS, iOS, tvOS og watchOS for hele flåten av Apple-enheter. Swift er et effektivt programmeringsspråk. Det er lettere å lære enn forgjengeren, Objective-C, og Swift låner noen av de beste ideene. Samtidig har utviklerne gjort språkene kompatible, det vil si at ett program kan inneholde kode i både Swift og Objective-C. Det er milliarder av linjer med kode og hundretusenvis av eldre programmer skrevet i Objective-C i verden, så støtten vil definitivt ikke bli forlatt.

Under utviklingen av Swift var målet å lage det mest praktiske systemprogrammeringsspråket – raskt, trygt og uttrykksfullt.

Algoritmen i Swift er 2,6 ganger raskere enn den samme algoritmen i Objective-C, og 8,4 ganger raskere enn i Python. Bruk av Swift gjør programutviklingsprosessen mer fleksibel og praktisk.

På grunn av sin eksponentielle utvikling ble Swift-språket utgitt til åpen kildekode-fellesskapet 3. desember 2015. Samtidig overvåker Apple strengt utviklingen, og organiserer en komité for utviklingen. Swift er nå tilgjengelig ikke bare på Apple-systemer, men også på Linux. Alle tilleggsverktøy for å jobbe med språket, inkludert en debugger, standardbibliotek, pakkebehandling, er også gratis og åpne.

Dette språket er fremtiden. Du kan finne ut mer detaljert informasjon om det fra det nevnte kurset fra GeekBrains "", der en hel måned er viet til å lære dette programmeringsspråket.

App Store

Enkelt sagt er App Store en innholdsbutikk for hele utvalget av Apple-enheter. Her kan du kjøpe spill og applikasjoner fra både store selskaper og uavhengige utviklere. Hver utvikler, uansett hvilket land han bor i, kan selge eller distribuere programmene sine gratis på denne digitale distribusjonsplattformen. For å begynne å gjøre dette, må du registrere deg som utvikler og kjøpe en lisens for å selge applikasjonene dine. Dette er et gebyr for tjenesten og utviklingen App Store Butikk.

Resultater

Vi har utviklet en enkel applikasjon for iOS-mobiloperativsystemet ved å bruke Xcode-programmeringssystemet sammen med Objective-C-språket. Vi testet den ferdige applikasjonen på en iPhone 7-simulator. Vi lærte hvordan man bygger et brukergrensesnitt ved hjelp av Interface Builder, hvordan man kobler til grafiske elementer med applikasjonskode, hvordan lage hendelsesbehandlere. Vi ble kjent med det grunnleggende i Objective-C. I tillegg trakk vi oppmerksomheten til det lovende Swift-språket, som brukes til å utvikle kraftige og sikre applikasjoner for Apple-økosystemet.

Imidlertid er materialet som er studert bare begynnelsen. For å intensivt oppgradere deg selv i retning av mobilkoding og utvikling av faktisk selgende applikasjoner, anbefaler vi å ta ""-kurset på våre venners nettsider.

Dette er et verdig kurs: hvis du tar det, vil du definitivt ikke kaste bort tiden din. Det starter med to detaljerte kurs i Java-språket, etterfulgt av å lære grunnleggende programmering for Android-mobiloperativsystemet. Neste er et kurs om databaser generelt og SQL-språket spesielt. Deretter et fordypningskurs om utvikling av profesjonelle Android-applikasjoner. Etter dette vil studievektoren bevege seg mot Apple-systemer: to detaljerte kurs om mål-C-språket og nyttig kurs av Swift.


Kursforelesningene undervises av profesjonelle lærere med lang erfaring innen programvareutvikling. Hvis noe er uklart, kan du stille et spørsmål uten opphold. Generelt er læring på GeekBrains en levende prosess, du kan kommunisere, stille spørsmål og hjelpe med svar. For å teste den ervervede kunnskapen, utsteder lærerne hjemmelekser, som deretter sjekkes. Etter fullført opplæring vil du ha en garantert praksisplass i en IT-bedrift. Og da avhenger alt av deg, hvis du viser deg selv som en kompetent spesialist, vil du bli invitert til å jobbe.

Spesialprosjekt med selskapet

Swift er Apples robuste og intuitive programmeringsspråk som du kan bruke til å lage apper for iOS, Mac, Apple TV og Apple Watch. Det gir utviklere enestående kreativ frihet. Med dette enkle, brukervennlige åpen kildekodespråket, er alt du trenger en interessant idé for å lage noe utrolig.

Utviklere bruker allerede
fantastiske funksjoner i Swift.

Swift er et raskt, effektivt programmeringsspråk i sanntid som enkelt kan settes inn i forhåndsbygd Objective-C-kode. Nå kan utviklere ikke bare skrive mer pålitelig og sikre koder, men spar også tid og lag applikasjoner med avanserte funksjoner.

Flott app i Swift. Brukervennlighet og sanntidsrespons er grunnen til at VSCO valgte Swift for å lage en ny versjon av deres iOS-fotoapp.

Utmerkede applikasjoner,
utviklet på Swift-språket.

Flere og flere utviklere bygger inn Swift-kode i applikasjonene sine. Og noen lager til og med helt nye applikasjoner i Swift.

Duolingo Khan
Academy Clear Sky Guide

Skap Kickstarter Eventbrite Hipmunk

Produktiviteten er høyere. Appene er bedre.

Raske apper overgår forventningene. For eksempel, vanlig algoritme søk er mye raskere i Swift.

Opp til 2,6 ganger raskere enn Objective-C

Opp til 8.4 ganger raskere enn Python 2.7

10 000 heltall ble funnet i grafen ved bruk av dybde-først-søkealgoritmen*

Rask språk lagt til
inn i læreplanen.

Det er ikke bare utviklere som setter pris på potensialet til Swift-språket. Universiteter og andre utdanningsinstitusjoner underviser Swift i programmeringskurs og publiserer gratis kurs på iTunes U, noe som betyr at selv nybegynnere enkelt kan gå fra grunnleggende koding til programmering på pro-nivå.

Universiteter som har inkludert Swift i pensum

  • University of California i Santa Cruz
  • Foothill College
  • Royal Melbourne University of Technology
  • Tekniske universitetet i München
  • Lawson Community College
  • Manhattan Community College
  • Mesa Community College
  • Houston Community College
  • Central Piedmont Community College
  • University of Plymouth
  • California State Polytechnic University
  • Universitetet i Stanford
  • Northwest Kansas Technical College
  • Technological Institute of Monterrey
  • Aberystwyth University
  • Full Sail University
  • Ingesup skole
  • Southern Methodist University

Swift er overalt.
Og nå er den åpen for alle.

Swift er fritt tilgjengelig for bruk av utviklere, lærere og studenter under Apache 2.0 programvarelisensen for åpen kildekode. Vi tilbyr OS X- og Linux-binærfiler som lar deg kompilere kode for iOS, OS X, watchOS, tvOS og Linux. Og for å akselerere utviklingen og transformasjonen av Swift til enda mer kraftig språk, har vi opprettet et nytt fellesskap der brukere kan bidra direkte til Swift-kildekoden.

Møt Swift.

hovedbok

Last ned veiledningen Rask programmeringsspråk fra Apple Books Store gratis. Lær hvordan Swift gjør programmering mer praktisk, fleksibel og morsom.

Xcode

Xcode er en Mac-applikasjon designet for å utvikle andre applikasjoner for Mac og iOS. Xcode har alle verktøyene du trenger for å lage fantastiske apper. Den kan lastes ned gratis fra Mac App Store.

Utviklernettsted

Få dyptgående teknisk informasjon og en fullstendig oversikt over Swift-språket. Sjekk ut utviklerbloggen for å holde deg oppdatert. siste nytt. Du har også gratis tilgang til flotte ressurser som opplæringsprogrammer, videoer og kodeeksempler.

I 2015 kan du ikke lenger gå ut uten å umiddelbart møte en person som oppfyller to kriterier: 1. Han har en iPhone/iPad. 2. Han vil bli programmerer. Følgende utvalg av iOS-applikasjoner er kompilert kun for slike personer. Med den kan du lære ett eller flere av de 20 mest populære programmeringsspråkene i verden.

Tiobe indeks

Tiobe Index er en rangering av populariteten til programmeringsspråk i verden. Den er kompilert basert på antall lenker i resultatene til populære søkemotorer for søket " + programmering". Indeksen har blitt bygget hver måned siden 1987. For øyeblikket brukes data fra følgende nettsteder til å beregne rangeringen: Google, YouTube, Amazon, Baidu, Qq, Yahoo, Ebay, Hao123, Bing, Alieexpress, Alibaba og Cntv.

Indeksverdien beregnes for språk som oppfyller to krav. For det første må språket være Turing komplett, og for det andre må det finnes en artikkel om det i den engelskspråklige Wikipedia. Hvordan fastslå at et språk er Turing komplett? Hvis en hvilken som helst beregnerbar funksjon kan utføres på den, er det et komplett Turing-språk. SQL oppfyller ikke det første kriteriet, men likevel har Tiobe Index-verdien blitt beregnet for det i mange år. Totalt deltar 237 språk i rangeringen.

Analytikere bruker Tiobe-indeksen i sitt arbeid for å forutsi utviklingen i IT-bransjen. Programmerere sjekker betydningen for ikke å gjøre en feil ved å velge vektoren for faglig utvikling. 25 år av indeksens historie lar oss trygt si: "gode språkspesialister som okkuperer de første 10 linjene i rangeringen vil helt sikkert være etterspurt på arbeidsmarkedet i løpet av de neste 3-4 årene."

Appene i denne samlingen vil mer nøyaktig bli kalt oppslagsbøker med muligheten til å kjøre kode, i stedet for pedagogiske apper. Du må dele informasjonen inn i leksjoner og komme opp med eksempler for praksis på egen hånd.

1. Java

Tiobe Index-verdien for dette språket er 19,56%. Java brukes i 80-90 % prosent av bedriftsapplikasjoner. De aller fleste Android-utviklere skriver på den. Java brukes ofte i høylastede nettapplikasjoner. Nesten alt kan skrives på dette språket. Dette er hva hundrevis av millioner av utviklere i alle hjørner av planeten gjør med suksess. applikasjon Java Develop Reference alt i ett inneholder det meste full informasjon om dette språket.

2. C

Operativsystemer og annen lavnivåprogramvare er skrevet på dette språket. Appen vil hjelpe deg å lære språket C Referanse.

3. C++

C++ er hovedspråket for utvikling av kommersiell applikasjonsprogramvare. Det er vanskeligere å lære enn Java, derfor mindre populært. Det er en søknad om å studere det - C++ Referanse.

4. C#

Dette språket er en forenklet versjon av C++ designet for å fungere med .NET Framework-utviklingsmiljøet. Det er et program for å mestre syntaksen til språket C# programmeringsspråk.

5. Python

Python er skrevet for skrivebords- og serverapplikasjoner programvare, høylastede nettapplikasjoner. Den brukes av Google og BitTorrent. applikasjon Python 2 utviklerreferanse vil hjelpe deg å lære dette språket.

6.PHP

Det er det mest populære programmeringsspråket for å lage nettsider. Det er skrevet milliarder av nettsteder på den. Hundrevis av millioner av utviklere rundt om i verden eier den i en eller annen grad. Inngangsterskelen for nybegynnere er ekstremt lav. Lag en side som ser ut som «Her er jeg, her er katten min. Send et brev gjennom dette skjemaet" en halvtime etter start lære PHP. Applikasjonen vil hjelpe deg å mestre teknologien PHP-referanse.

7. Java Script

Dette språket er utviklet for å bygge inn dynamiske klientsideskript på nettsider. Det er et sjeldent nettsted som kan klare seg uten minst et par linjer med Java Script-kode. Teoretisk sett kan du skrive nesten alt på dette språket: server (Node.js) og mobil (PhoneGap) applikasjoner. Fra og med OS X Yosemite ble Java Script et alternativt makrospråk for OS X Apple Script. Det er legender om en håndverker som skrev det om i JS Linux-kjernen. Du kan lære det grunnleggende om Java Script ved å bruke programmet Java Script programmeringsspråk.

8. Visual Basic for .NET

For å skrive et program på dette språket kan du ikke klare deg uten .NET Framework. Derfor er det ingen egen applikasjon for dette språket. Men syntaksen er identisk med vanlig Visual Basic, som vil bli diskutert nedenfor.

9. Perl

Opprinnelig laget for å behandle store mengder tekstdata. Omfanget av applikasjonen overlapper delvis med PHP, og delvis med C-språket. Du kan bli mer kjent med syntaksen og prøve deg på å skrive skript i applikasjonen. Perl programmeringsspråk

10. Mål-C

Dette språket har blitt brukt i 32 år for å utvikle applikasjoner som kjører på Apple-enheter. Programmer for OS X og iOS er skrevet på den. Du kan lære Objective-C ved å bruke applikasjonen Objective-C programmeringsspråk

11. Montering

Assembler - lar deg få tilgang til prosessorkommandoer direkte. Dette er det laveste programmeringsspråket. Kunnskapen er noen ganger nødvendig for å lage flere programmeringsspråk høy level, operativsystemer, drivere. Evnen til å lese monteringskode vil være nyttig for virusanalytikere og personer som er involvert i hacking av lisensiert programvare. Det er en opplæring for iOS - Assembly programmeringsspråk.

12. Ruby

Ruby-språket er en forbedret objektorientert versjon av Perl-språket utviklet i Japan. Den brukes til å lage webapplikasjoner ved å bruke Ruby on Rails-rammeverket. Det er takket være dette rammeverket, som lar deg distribuere nettapplikasjoner veldig raskt, at Ruby er i en så høy posisjon. Selv om språket ikke er inkludert i topp 10, vil en stor spesialist på denne teknologien 100 % ikke finne seg selv uten et stykke brød de neste fem årene. Det er en app for læring Ruby programmeringsspråk.

13. Delphi

Dessverre finnes det ingen iOS-app for dette språket. Det er ikke overraskende. For det første, for å skrive et program i Delphi trenger du ikke å kjenne syntaksen. Bare åpne utviklingsmiljøet, dra noen få knapper og inndatafelt til arbeidsplass, ved å trykke på høyre knapp mus, tilordne dem atferdsparametere og det er det. Evnen til å forstå Delphi-kildekoden vil bare være nyttig for unge programmerere som kommer ti år senere og som blir bedt av sine overordnede om å få dette programmet til å fungere under den nye versjonen av Windows. For det andre er det ikke skrevet noe nytt i Delphi nå, og dens høye plassering i Tiobe-rangeringen er sikret av lider som må endre programvare som var 15 år gammel.

14. Visual Basic

Kunnskap om språket vil være nyttig for de fleste kontorarbeidere. Du kan skrive mange nyttige ting på den: samle inn data fra spørreskjemaer til en Excel-tabell, generere filer ved hjelp av en mal, automatisert utsendelse i Outlook. Det er en søknad om å studere - Visual Basic programmeringsspråk.

15. Pascal

To tredjedeler av russerne, hvis skole- og studentår skjedde på slutten av 90- og 2000-tallet, snakker det grunnleggende om dette språket. I mange land rundt om i verden har det vært tradisjon for å bruke dette språket til å undervise i datavitenskap. Ved årtusenskiftet, da skoler over hele planeten begynte å introdusere massivt datakunnskaper, et av de mest kommersielt suksessrike språkene var Delphi. Syntaksen til dette språket er nesten identisk med syntaksen til Pascal. Av denne grunn, kompilatorene læreplaner og valgte det som det første programmeringsspråket for millioner av mennesker. Delphi døde nesten på slutten av 2000-tallet, men lærebøker i informatikk i de fleste utdanningsinstitusjoner har fortsatt ikke blitt oppdatert. En app vil gi deg en reservert plassbillett tilbake til barndommen Pascal programmeringsspråk.

16. Swift

Swift-språket ble kunngjort våren 2014. Den brukes til å utvikle applikasjoner for iOS og OS X. Den er posisjonert som et tryggere alternativ til Objective-C. applikasjon Swift programmeringsspråk er en komplett språkopplæring kompilert av Apple-programmerere.

17. MATLAB

MATLAB er et språk for å utføre tekniske beregninger av ulik grad av kompleksitet i en programvarepakke med samme navn, som brukes av millioner av ingeniører over hele verden. applikasjon MATLAB Mobil er en forenklet versjon av MATLAB-programvarepakken for iOS , inkludert en komplett guide til språket. En uunnværlig ting for førsteårsstudenter ved tekniske universiteter.

18.SQL


SQL er et prosedyrespråk for arbeid med databaser. Med dens hjelp kan du legge inn data i databaser, og deretter lese, endre og slette dem. SQL programmeringsspråk lar deg lære SQL og funksjonene til applikasjonen for de vanligstesystemene: MySQL, SQL Server, PostgreSQL, Oracle, etc.

19. R

R er et språk for statistisk informasjonsbehandling. Den er innebygd i mange populære dataanalyseprogrammer i verden: SPSS, Statistica, SAS. Du kan studere det ved å bruke applikasjonen R programmeringsspråk.

20. COBOL

COBOL-språket har eksistert siden 1959. Det er det eneste av de 20 mest populære språkene i verden hvis opprettelse ble ledet av en kvinne - bakadmiral fra den amerikanske marinen Grace Hopper. Opprinnelig designet for å lage forretningsapplikasjoner. Veldig mange systemer pengeoverføringer, hvis utvikling startet tilbake på 70-tallet, er skrevet i COBOL. Amerikanske offentlige og private selskaper har mange kjørende systemer som krever teknisk støtte og skrevet i COBOL. I noen utdanningsinstitusjoner i Amerika brukes dette språket til å lære studenter programmering. Applikasjonen vil hjelpe deg å bli kjent med den COBOL programmeringsspråk.

Konklusjon

App Store har apper for å lære mindre populære språk også. Hvis du prøver litt, kan du finne pedagogiske applikasjoner der for de neste 30 linjene i Tiobe Index-rangeringen.

  1. Programmeringsspråk. Hva du trenger å vite for å skrive applikasjoner for iOS.
  2. Trenger du en designer, grensesnittutvikler eller noen andre?
  3. Offisiell del: utviklersertifikat.
  4. Nødvendig utstyr for komfortabel utvikling.
  5. Det evige spørsmålet: AndroidOS eller iOS?
  6. Hva må gjøres i dag?
  7. Opprette et nytt prosjekt.
  8. Samling. Hva er det og hvorfor er det nødvendig?
  9. Kjør på simulatoren.
  10. Vi trykker "Hei, verden!"
  11. Hvilke standardvisninger er det i iOS?

Programmeringsspråk. Hva du trenger å vite for å skrive applikasjoner for iOS

Programmeringsspråk(wikipedia.org) er et formelt symbolsystem designet for opptak av dataprogrammer. Et programmeringsspråk definerer et sett av leksikalske, syntaktiske og semantiske regler, definerer utseendet til programmet og handlingene som utøveren (datamaskinen) vil utføre under dens kontroll.

Kanskje spørsmålet jeg stilte i tittelen på denne delen er ganske komplekst. Jeg kan svare enkelt - Objective-C. Hvis jeg stoppet der, ville jeg tatt feil. Jeg vil si at Objective-C er det minimum nødvendig. Nylig var det en konferanse fra Yandex - YET, hvor en av rapportene ble viet til hvilke programmeringsspråk en utvikler bør kunne. Svaret var noe sånt som dette: "Han må lære nye og nye programmeringsspråk konstant, uten å stoppe ved noen spesielt.". Jeg er helt enig i dette. Ved å lære nye programmeringsspråk lærer du nye tilnærminger og programmeringsmetoder. Derfor, for å skrive applikasjoner for iOS, må du kjenne til Objective-C, men det er også lurt å kunne andre programmeringsspråk slik at koden din er god, effektiv og fleksibel.

Hvis du ikke er programmerer ennå, anbefaler jeg deg å begynne med C-språket. Last ned boken av Kernighan og Ritchie ( eller bedre kjøp) om C-språket, les det, gjør alt som blir foreslått for deg, og etter det vil jeg råde deg til å gå videre til Objective-C. Hvis du allerede forstår hvordan du skriver programmer, er du klar til å enkelt svare på spørsmålene - «Hva er datatyper? Hva er en variabel? Hva er en funksjon eller metode? Hva er en lenke og en peker? Hva har skjedd "inkludere”?” , du kan C eller C++ eller Java eller C#, så er du klar til å skrive din første applikasjon for iOS.

Du må også kjenne til det grunnleggende om OOP og designmønstre. Listen kan nok fortsettes, men jeg er neppe klar til å kreve en kvalitativ forklaring på disse begrepene. Ja, dessverre er ikke Objective-C språket du kan starte programmererreisen med. Men hvis du liker og vil skape, er det på tide for deg å løpe til butikken, kjøpe bøker og starte utviklerreisen.

Trenger du en designer, grensesnittutvikler eller noen andre?

Et annet, ikke mindre enkelt spørsmål. Hvis du er en programmerer og vet hvordan du skriver konsollprogrammer og vil begynne å skrive applikasjoner for iOS, trenger du ikke i det innledende stadiet en slik person. Hvis du har en iPhone || iPad || iPod touch Hvis du er kjent med iOS, trenger du ikke en front-end-utvikler. Generelt har Apple et slikt dokument - MenneskeligGrensesnittRetningslinjer. I dette dokumentet beskriver hvor og hvilket grensesnittelement som skal brukes. Derfor kan du i den innledende fasen klare deg uten tredjeparter. Generelt gir iOS SDK nok muligheter for å male applikasjonsgrensesnittet, så å tegne noen knapper eller flerfargede tekster i PS, gradientfyllinger og så videre trenger du ikke. Senere vil vi lage det første prosjektet, der vi vil bli kjent med alle stadiene for å lage "Hei, verden!"

Du må imidlertid forstå at når seriøse prosjekter begynner, applikasjoner som du vil publisere i AppStore, vil det være vanskeligere for deg uten en designer og utvikler. Vanskeligheten kan manifestere seg på forskjellige stadier - enten under applikasjonsutvikling, når du bruker timevis på å søke etter det nødvendige bildet eller sitter og lager i PS, eller etter at du publiserer applikasjonen og begynner å motta kommentarer fra våre kjære brukere som vil klage på din stakkars gratis appdesign. Jeg møtte lignende problemer på begge stadier. Etter å ha mottatt elendige kommentarer på AppStore, ønsket jeg å forlate applikasjonen min, som for øvrig er gratis, og glemme utakknemlige brukere. Men nytten av selve appen for meg, så vel som mange andre brukere, fikk meg til å svelge de sinte kommentarene og fortsette å utvikle appen. For omtrent tre måneder siden begynte jeg å utvikle en applikasjon sammen med en designer som forteller meg hva jeg skal sette inn og hvor, hvilken farge jeg skal velge, hvor og hvilket bilde jeg skal tegne, og dette vil jeg si er ganske praktisk. Derfor anbefaler jeg deg fortsatt å begynne å bruke tjenestene til designere på et tidspunkt for å få gode tilbakemeldinger fra brukerne. Og husk - brukere av iOS-enheter vil se flink applikasjonsdesign, selv om funksjonaliteten lider.

Offisiell del: utviklersertifikat

Du har sikkert allerede hørt mye om en slags utviklersertifikat. Nå skal jeg prøve å bringe deg oppdatert – hvorfor det er og om du trenger det akkurat nå. Et utviklersertifikat er en fil, akkurat som alle andre sertifikater. Denne filen gir deg Apple-selskap etter at du har gått gjennom alle stadier av registrering i systemet iOS (Mac os) Utvikler (Bedriften) Program.

Hva vil det å ha denne filen og registrering i et av programmene ovenfor gi deg? Svarene på dette spørsmålet er overveldende mørke. Derfor vil jeg bare si om de viktigste tingene (alt beskrevet nedenfor er gitt til deg i nøyaktig ett år):

  • teste applikasjonene dine på enhetene dine (selv om dette ser ut til å være hackbart og kan gjøres uten sertifikat)
  • tilgang til utviklerforumet på Apple-portalen (selv om det er et fellesskap på StackOverflow.com, hvor du kan finne svar på spørsmålet ditt mye raskere)
  • muligheten til å laste ned betaversjoner (og selvfølgelig gjeldende) av iOS og Xcode
  • muligheten til å installere betaversjoner av iOS på enheten din
  • muligheten til å publisere en applikasjon i AppStore
  • muligheten til å koble opptil 100 enheter til kontoen din, og dermed tillate disse enhetene å installere betaversjoner av iOS, teste applikasjonene dine (ennå ikke publisert i AppStore) og mye mer ulovlige ting
  • muligheten til å vise til vennene dine at du er en offisiell iOS-applikasjonsutvikler

Hvis du bestemmer deg for at du trenger et slikt sertifikat, så vær forberedt på å skille deg av $100 ($300 for Enterprise), send en faks til USA, skriv inn bankkort(oppmerksomhet! Din, akkurat din), vel, les ferdig dette kapittelet.

Så la oss gå.

  1. Følg denne linken http://developer.apple.com/programs/ios/
  2. Klikk på Registrer nå
  3. Vi leser flommen nøye og går videre – Fortsett
  4. Her har vi 4 poeng:?a. Vil du lage nye Apple ID for Apple Developer Program?b. Vil du bruke en eksisterende Apple-ID?c. Er du allerede registrert som en enkel utvikler, og nå ønsker du å bli en offisiell utvikler med alle fordelene beskrevet ovenfor? Du er allerede medlem av iOS- eller Mac-utviklerprogrammet og ønsker å koble et annet program til kontoen din
  5. Venner, neste gang må du gå gjennom et par trinn for å fylle ut din personlige informasjon. Jeg husker ikke nøyaktig hva som er der lenger. Hvis du har spørsmål, still dem i dette emnet, jeg vil svare på alt så godt jeg kan.
  6. Du fikk en lenke til en .pdf-fil som du må fylle ut og fakse til Apple.
  7. Vi skriver det ut og fyller det ut (veldig nøye og nøye).
  8. Vi sender en faks til Apple-kontoret i USA. (Pass på at faksen ikke kommer i feil hender, for der oppgir du bankkortnummer og CVV).
  9. Vi venter N antall dager (uker) på at Apple skal behandle forespørselen din.
  10. Vi mottar et brev som gratulerer deg med at du har registrert deg for programmet og tapt en hundrelapp. Hurra!

Etter å ha fullført oppdraget vil du ha tilgang til http://developer.apple.com/membercenter/. Kanskje en gjennomgang av den siden enten krever en egen artikkel eller krever et Google/Yandex-søk.

Vel, venner, la oss gå videre til de gjenværende sakene på agendaen.

Nødvendig utstyr for komfortabel utvikling

Hvis du seriøst har bestemt deg for å begynne å utvikle applikasjoner for iOS, så anbefaler jeg på det sterkeste å umiddelbart kjøpe en datamaskin/bærbar PC med MacO-er. Det billigste alternativet er Mac Mini, eller noe brukt. Hvis du er student og skal ha med deg utstyr - Macbook Air. Hvis du har mye penger og vil ha en kraftig all-purpose bærbar PC - for spill, komplekse dataoppgaver og programmering - Macbook Pro. Hvis du vil ta stasjonær datamaskin– iMac eller Mac Mini. For utvikling vil enhver datamaskin i en eksisterende konfigurasjon passe deg. Skjermstørrelsen er etter ditt skjønn. Jeg personlig sitter nå foran en Macbook 13" og en Mac Mini 17". Jeg er fornøyd med begge skjermene. Hvis noe, kan du alltid koble en ekstern skjerm til den bærbare datamaskinen.

Ikke glem at du før eller siden trenger en iPhone, iPod eller iPad. Du trenger ikke bare stole på iOS-simulatoren, som distribueres i samme pakke med Xcode. Test alltid utgivelsesversjoner på enheter. Eller - se etter testere (ansvarlige og pliktoppfyllende).

Hvis du ikke er klar til å bruke så mye penger på nytt utstyr, så kan du prøve å installere en Hackintosh på datamaskinen din.

Det evige spørsmålet: Android eller iOS?

Det er mulig at dette spørsmålet burde vært stilt helt i begynnelsen, men det er fortsatt plassert på slutten av denne artikkelen. Er du sikker på at du vil prøve deg på mobilutvikling, men vet ikke hvilken mobilplattform du skal velge? Jeg kan ikke svare på dette spørsmålet for deg. Men jeg vet én ting - hvis du vil utvikle applikasjoner for iOS, må du elske Apple-produkter og operativsystemene iOS og MacOs. Du kan spørre - hvorfor er dette? Svaret er enkelt – du må elske det du gjør, du må skape. Først da vil du være i stand til å utvikle et virkelig kult og nyttig produkt. Bare i dette tilfellet vil du like å lære Objective-C og iOS. Jeg tror dette er veldig viktig. Hvis du har lignende følelser for Apple-produkter, kan du gjerne gå inn på feltet iOS-utvikling. Hvis du tror - jeg kan Java, men jeg kjenner ikke Objective-C, men jeg liker iOS bedre enn AndroidOs - så velg iOS. Nei, men hva forventet du at jeg skulle begynne å rose Android OS?

Jeg liker også iOS-sfæren for appbutikken. Alt der er vakkert, korrekt, og det er veldig streng moderering av søknader. Dumpen av applikasjoner som nå er i Android OS er rett og slett forferdelig, både for brukere og verdige utviklere.

Hva må gjøres i dag?

I dag må du bestemme deg: Når du begynner å utvikle applikasjoner, vil din nåværende erfaring være nok til å læreObjektiv- C, har du nødvendig utstyr, og det viktigste ønsket?

Hei Verden.

Sjekker beredskap

La oss gå fra teori til praksis. Til praktisk leksjon du trenger Xcode 4.2 med iOS SDK, fortrinnsvis et utviklersertifikat, kunnskap om C, C++, Java eller Objective-C (vel, kanskje kunnskap om andre språk vil gjøre det) og til slutt et ønske om å begynne å skrive applikasjoner for iOS . Hvis du mangler noe, for eksempel et utviklersertifikat, vil artikkelen fortsatt være relevant for deg. I alle fall ser det ut til at alle iOS-enhetsbrukere burde være interessert i å ta en titt på den indre funksjonen til applikasjonsutvikling.

Opprette et nytt prosjekt

Gå. Klikk på Xcode-ikonet. Et vindu som ligner på dette åpnes:

Velg elementet "Opprett et nytt Xcode-prosjekt". I neste vindu velger du prosjekttype. Vi trenger: "iOS - Application - Single View Application".

Klikk Neste. Vi vil se et vindu med følgende innhold:

La meg forklare inndatafeltene:

  1. Produktnavn – Navnet på det nye prosjektet – du kan skrive inn hvilket som helst navn, men jeg anbefaler deg å bruke navn som er identiske med mitt, fordi jeg vil referere til dem med jevne mellomrom.
  2. Firmaidentifikator - Din bedriftsidentifikator - du kan fylle den ut som du ønsker.
  3. Bundle Identifier – unik identifikator din søknad. Dette feltet kan redigeres senere.
  4. Klasseprefiks – et prefiks som vil bli tildelt navnene på alle klassene du oppretter i prosjektet. Jeg lot feltet stå tomt ( "XYZ"– dette er bare et hint).
  5. Enhetsfamilie – på hvilke typer enheter prosjektet kan installeres. Du kan velge ett av tre alternativer: iPad/ iPhone/ Universell. Hensikten deres er åpenbar. Hvis du ikke kan bestemme akkurat nå om du trenger å lage en universell app, kan du velge et av de andre alternativene. Dette kan korrigeres når som helst i programvarens livssyklus.
  6. Bruk Storyboard – Dette er relatert til å lage en brukergrensesnittmodell. Lagt til med iOS5, slik at når du bruker denne skrekken, kan applikasjonen din bare installeres på enheter med iOS5 eller høyere.
  7. Bruk automatisk referansetelling er en ny funksjon i Apple LLVM 3.0-kompilatoren - den administrerer automatisk (nesten) minne (overvåker lekkasjer, zombier og andre grusomheter). Jeg vil si at for en nybegynner er det et ideelt alternativ. MEN – 1) ikke alt er så automatisk, 2) stoler du mer på kompilatoren enn deg selv?, 3) Jeg anbefaler å administrere minne manuelt.
  8. Inkluder enhetstester – koble enhetstesting til prosjektet.

Du vil se et vindu for å velge en kategori hvor prosjektet skal plasseres. Jeg vil bare advare deg om at en mappe med navnet på prosjektet ditt opprettes automatisk i mappen du valgte, det vil si at det ikke er nødvendig å opprette en ekstra mappe for et spesifikt prosjekt.

Vi merker ikke av for "Opprett lokalt git-depot for dette prosjektet". Det er bedre å koble prosjektet vårt til kodelageret senere om nødvendig.

Klikk på "Opprett" og se et nytt vindu, vinduet til arbeidsområdet vårt:

Og så, vi har opprettet et prosjekt, noen filer er generert, noen vinduer er åpne.

La oss ta en titt på filene i navigasjonsmenyen:

  • filer med suffikset ".h" er overskrifter, hvor vi vil gi beskrivelser av klasser
  • filer med suffikset ".m" er implementeringsfiler, hvor vi skal implementere de tidligere beskrevne klassene
  • filer med suffikset ".xib" er filer som beskriver grensesnittet til et enkelt programvindu

Sammenstiller prosjektet

Samling -

  1. oversettelse av et program til et språk nær maskinspråk og dets påfølgende montering.
  2. oversettelse av et program skrevet på kildespråket til en objektmodul (utført av en kompilator) og dets påfølgende sammenstilling til en klar-til-bruk programmodul.
  3. oversettelse av et program skrevet på et kildespråk og dets påfølgende sammenstilling til et program i en maskinuavhengig lavnivåtolket kode (som for eksempel i tilfellet med Java-språket).

Kompileringsprosessen består av følgende faser:

  1. Leksikalsk analyse. I denne fasen konverteres sekvensen av tegn i kildefilen til en sekvens av tokens.
  2. Syntaktisk (grammatisk) analyse. Sekvensen av tokens konverteres til et parse-tre.
  3. Semantisk analyse. Parsetreet behandles for å etablere dets semantikk (betydning) - for eksempel å binde identifikatorer til deres definisjoner, datatyper, kontrollere datatypekompatibilitet, bestemme de resulterende datatypene av uttrykk, etc. Resultatet kalles vanligvis "mellomrepresentasjon/kode". ", og kan suppleres med et analysetre, et nytt tre, et abstrakt sett med kommandoer eller noe annet praktisk for videre behandling.
  4. Optimalisering. Redundante kommandoer fjernes og koden forenkles (der det er mulig) mens dens betydning bevares, det vil si algoritmen den implementerer (inkludert forhåndsberegnet (det vil si beregnet i oversettelsesfasen) uttrykk, hvis resultater er praktisk talt konstanter) . Optimalisering kan være på ulike nivåer og stadier – for eksempel på mellomkode eller på endelig maskinkode.
  5. Kodegenerering. Fra mellomrepresentasjonen genereres kode på målspråket (inkludert programkobling).

Mer på enkelt språk fra meg. På det leksikalske analysestadiet kontrolleres det at alle tegnene i kildekoden din er i riktig rekkefølge, og relaterte tegn i de følgende stadiene vil bli betraktet som en enkelt enhet - et leksem. På parsestadiet sjekkes det at alle tokens er i riktig rekkefølge, på de rette stedene, i riktig rekkefølge. Til slutt, på semantisk analysestadiet, kontrolleres datatypetreff.

Og så, når du klikker på "Bygg prosjekt", utføres først en leksikalsk analyse av koden din, hvis den er vellykket, deretter en parsing-analyse, og deretter en semantisk analyse. I Xcode kjører det alltid en viss lett prosess som utfører denne funksjonen, og dermed spørre utvikleren "i farten". For eksempel, hvis du ikke la inn ";" eller plutselig setter du likhetstegn mellom int og en bestemt streng med tegn, så vil Xcode understreke strengen med en rød bølget linje.

Kjører på en simulator

Og så, la oss prøve å starte prosjektet vårt, som vi ennå ikke har skrevet en eneste linje med kode personlig for.

For å gjøre dette, la oss se på menyen: Sammenstillingsopplegg(den er tildelt fargen grønn i skjermbildet mitt). Et diagram er en bestemt konfigurasjon av et prosjekt. Xcode genererer den automatisk. Klikk på linjen til høyre for prosjektnavnet (enhetsnavnet) hvis enheten ikke er tilkoblet, vil det stå "iOS-enhet". Du vil se en rullegardinliste med følgende innhold:

I denne listen velger vi hvor prosjektet vårt skal installeres: det kan enten være enheten din eller en simulator. Hvis du har valgt den universelle applikasjonstypen, vil du kunne velge simulatortype: iPhone eller iPad. Du kan også velge operativsystemversjon for simulatorer (det er viktig å teste prosjektet på alle versjoner av iOS som applikasjonen kan installeres på). Siden vi snakker om minimumsversjonen av iOS, bør vi også nevne hvordan man bestemmer minimumsversjonen? Det er enkelt - hvis du bruker metoder (funksjoner) som ble lagt til i iOS-versjonen, for eksempel, 4.0 , så stiger baren for minimum påkrevd operativsystem til 4.0 . La oss senke stangen til 4.0 Med 5.0 . For å gjøre dette, gå til menyen: "Deployment target" (uthevet i blått på bildet mitt). Velg fra rullegardinlisten 4.0 . La oss nå gå tilbake til menyen: Sammenstillingsopplegg. Listen vår ser nå slik ut:

Velg "iPhone 4.0 Simulator". Og til slutt, klikk på pilen der det står "Kjør". I "Informasjons tavle" vi vil se kompileringsprosessen. Etter at alt har kommet sammen, åpnes iPhone-simulatorvinduet:

La oss nå raskt gå gjennom simulatorens muligheter.

  • Du kan simulere iPhone, iPhone Retina, iPad.
  • Simuler forskjellige versjoner iOS.
  • Ta skjermbilder.
  • Roter skjermer (portrett og liggende modus)
  • Riste
  • Simuler lite minne.
  • Simuler en utskriftsserver
  • Geolokalisering plassering
  • Multi-touch-bevegelser (maksimalt 2 fingre)
  • Annen

Alt dette kan nås fra simulatorprogrammenyen:

Noen få ord om simulatoren. Applikasjoner kan bare installeres på simulatoren via Xcode, de kan fjernes direkte fra simulatoren (som på ekte enhet), den støtter multitasking. Men den har også mange begrensninger, for eksempel kan du ikke installere et sertifikat i det lokale applikasjonssertifikatlageret. Men den største ulempen er at det SIMULATOR, men ikke EMULATOR. Det vil si at det bare later som om det er en iOS-enhet, ganske enkelt ved å gjengi et lignende grensesnitt ( programnivå). Men emulatoren gjør akkurat det enheten vil gjøre (på det fysiske nivået). Hvilken konklusjon bør trekkes? Sørg for å teste på en ekte enhet. Jeg har hatt tilfeller der det fungerer på enheten, men ikke på simulatoren, og omvendt.

Vi trykker "Hei, verden!"

Jeg håper alt er mer eller mindre klart frem til dette stadiet. Hvis ikke, vil du under utviklingsprosessen begynne å forstå dypere.

Dette kapitlet ble skrevet til minne om Dennis Ritchie skaperen av programmeringsspråketCog nøkkeloperativsystemutviklerUNIX, og også som medforfatter av boken «ProgrammeringsspråkC» .

Hensikten med kapittelet er å dekorere våre tomme grå skjerm. Flott, la oss gå. Vi går tilbake til Xcode, velger "ViewController_iPhone.xib" i navigasjonsmenyen. Deretter velger du "Vis" i listen som vises. Til høyre velger du "Attributtinspektør". Slik ser vinduet ut for meg pluss flere kommentarer:

La oss nå legge til en UILabel. UILabel er navnet på en klasse i iOS SDK som lar deg vise ikke-redigerbar tekst på skjermen. Generelt har alle klasser som lar deg vise noe prefikset UI: UIView, UITableView, UITextView, UIButton,…. I vinduet "Tilgjengelige objekter for visning" ser du etter en linje som heter Etikett. Når vi finner den, klikker vi på den og drar den til vår nåværende skjermvisning.

De blå stiplede linjene vil hjelpe deg med å sentrere/kalibrere den relative posisjonen til merket. Og så, velg Etikett i listen over viste objekter, hvis det ikke allerede er valgt, og se elementet i egenskapene: Tekst. La oss skrive "Hei, verden!" og trykk Tast inn. Her har vi endret og krympet teksten til etiketten. La oss fikse dette. I eiendomskategorier la oss velge "Hersker""Størrelsesinspektør". Det er felt:

  • x og y er koordinatene til øvre venstre hjørne av etiketten i forhold til den overordnede visningen, det vil si visningen der vi plasserte etiketten - dette er visningen i vårt tilfelle.
  • bredde og høyde – henholdsvis bredden og høyden til det redigerte objektet.

Du kan prøve å redigere disse verdiene og observere endringene. Du kan også redigere posisjonen og størrelsen direkte ved å flytte etiketten (teksten) og trekke dens ramme med forskjellige "prikker".

Bruk ytterligere 15-25 minutter på å leke med de forskjellige eiendommene i de forskjellige kategoriene:

  1. Tekstjustering
  2. Skriftstørrelse
  3. Farge, tekstskygge
  4. og så videre.

Deretter vil vi komme tilbake til dem, og jeg vil forklare formålet med visse felt.

Hvilke standardvisninger er det i iOS?

I forrige avsnitt berørte jeg navnene på noen klasser som er ansvarlige for grensesnittet. Selve konsollen UI og står for User Interface. Her vil jeg gi, kanskje ikke en fullstendig, liste over tilgjengelige visningstyper. For det første arver alle klassene beskrevet nedenfor fra UIView, dvs. har samme egenskaper og metoder. For det andre kan du alltid lage din egen tilpassede visning. Listen nedenfor:

1) UILabel – label – hovedformål: vise en eller flere ikke-redigerbare tekstlinjer.

2) UIB-knapp – knapp – hovedformål: vanlig knapp, sender signaler til objekter som varsler om at det har blitt klikket

3) UISegmentedControl – en knapp med segmenter – hovedformål: en knapp med flere aktive deler, du kan bestemme hvilken som ble klikket på

4) UITextField – tekstinndatafelt – hovedformål: felt for brukerinndatatekst

5) UISlider – glidebryter – hovedformål: en vanlig skyveknapp, hjelper til med å endre innstillinger mer intuitivt

6) UISwitch – På/Av-bryter – hovedformål: har to tilstander – på eller av, formålet er åpenbart

7) UIActivityIndicatorView - aktivitetsindikator - hovedformål: brukes vanligvis til å informere brukeren om at applikasjonen enten laster ned data eller bare utfører noen beregninger

8) UIProgressView – statusindikator (fremdrift) – hovedformål: å vise fullføringstilstanden for noe

9) UIPageControl – bytte mellom sider – hovedformål: vise antall sider, vise gjeldende side

10) UISepper (>= iOS 5) - +/- trinnkontroller - hovedformål: også åpenbart

11) UITableView – tabell – hovedformål: å vise et bord er kanskje det mest populære elementet

12) UITableViewCell – tabellcelle – hovedformål: vise en rad i en tabell, vanligvis tilpassbar

13) UIImageView – bilde – hovedformål: vise et bilde eller bilde

14) UITextView – tekstfelt (rullbart) – hovedformål: vise en stor mengde tekst som kan rulles.

15) UIWebView – web – hovedformål: vise en nettside

16) UIMapView – kart – hovedformål: kartvisning

17) UIScrollView – rullbar visning – hovedformål: vise flere visninger som ikke passer på én skjerm

18) UIDatePicker – datovelgertype – hovedformål: ideell for å legge inn en dato

19) UIPickerView – trommevalgtype – hovedformål: et alternativ til bordet når du velger et alternativ

20) UIView – bare en visning – hovedformål: åpenbart

21) UINavigationBar – navigasjonslinje – hovedformål: et panel der skjermtittelen og ekstra kontrollknapper vises

22) UINavigationItem – UINavigationBar-elementer – hovedformål: åpenbart

23) UIToolbar – verktøylinje – hovedformål: vise et panel hvor knapper er plassert for å kontrollere applikasjonen

24) UIBarButtonItem – verktøylinjeelementer – hovedformål: åpenbart

25) UIBarButtonItem (fast og fleksibel plass) – spesielle verktøylinjeelementer – hovedformål: endre avstanden mellom knappene på verktøylinjen

26) UITabBar – tabbar – hovedformål: hjelper til med å bytte mellom ulike ikke-relaterte skjermer

27) UITabBarItem – tabulatorelement – ​​hovedformål: åpenbart