IOS-ontwikkeling voor beginners: leren om helemaal opnieuw iOS-apps te maken. Zelf een iOS-app maken

Het begon allemaal met het feit dat ik om me heen keek en toen ik de auto van mijn dromen niet zag, besloot ik hem zelf te ontwerpen
Ferdinand Porsche

Hallo, Hab. Ik wil je vertellen hoe ik mijn eerste iOS-applicatie heb gemaakt en wat er van is gekomen.

Idee

Het idee voor de applicatie kwam vanzelf: maak iets dat je zelf graag zou gebruiken. Ik schrijf de hele tijd aantekeningen. Elke drukbezette persoon heeft tenslotte een aantal feiten die hij gedurende de dag ontvangt en die het onthouden waard zijn. En aangezien iedereen het vergeet (en dat is oké!), is er geen betere oplossing dan het gewoon op te schrijven. Ik voelde altijd een soort ongemak bij het werken met notitie-applicaties die in de AppStore werden gepresenteerd. Overmatige complexiteit in het beheer, de aanwezigheid van onnodige categorieën, een hoop aanvullende informatie - dit alles verhindert dat de applicatie zijn hoofdfunctie vervult. Bovendien zien veel van deze dingen er gewoon lelijk uit.

Daarom zette ik alle inzetten op eenvoud en gemak, en begon ik aan het creëren van het concept. Applicatiemodel met een enkele lijst met notities. Alles op één plek, wat is er makkelijker? Als iets van grote waarde of relevantie is, hoeft u er geen label op te plakken, u hoeft alleen de belangrijkste noot bovenaan de lijst te plaatsen. Oude en onnodige records zullen geleidelijk verdwijnen en later door de gebruiker worden verwijderd.

Functioneel

Nadat het concept was uitgevonden, heb ik de belangrijkste functionaliteit opgeschreven - de dingen waar ik me in het beheer op zou willen concentreren:

Vrij standaardfunctionaliteit voor dit soort toepassingen, daar moet je mee instemmen. Maar dit is slechts het topje van de ijsberg, de duivel zit in de details.

Gereedschap

Voordat ik de code in Xcode schreef, heb ik het uiterlijk van de applicatie volledig opnieuw gemaakt in de vector Sketch-editor. Dit programma is geweldig om snel lay-outs te maken. Er zijn veel plug-ins beschikbaar voor deze toepassing, waaronder Sketch Preview - het tekengebied rechtstreeks op het apparaat bekijken via het Skala Preview-programma. Je hoeft alleen maar de gratis Skala Preview-programma's op je computer en mobiele apparaat te downloaden en de plug-in te installeren. Selecteer daarna het gewenste tekengebied, druk op de combinatie Command + P en na een seconde wordt het uiterlijk van de applicatie naar het apparaat uitgezonden.

Daarnaast is het erg handig om screenshots in de applicatie te maken voor publicatie in de AppStore. Voor elk schermformaat is een aparte set tekengebieden gemaakt, samen met het gebruik van stijlen is de tijd die aan opmaak wordt besteed minimaal. Maar over de publicatie even later.

Ontwikkeling van

In de applicatie heb ik slechts twee controllers gebruikt - één direct voor alles-alles-aantekeningen, de andere voor het weergeven van een kleine tutorial bij de eerste keer opstarten. Ik heb het werk met de database georganiseerd met behulp van het CoreData-framework.

Na het creëren van de basisfunctionaliteit (maken, verwijderen, bewerken van notities), besloot ik om elk van deze functies te verbeteren.

Mee eens, het bewerken van tekst in iOS is behoorlijk onhandig. Als u een fout maakt in een woord om de cursor naar de gewenste positie te verplaatsen, moet u een aanraking maken en zonder uw vinger van het scherm te halen, proberen in het geselecteerde gebied te komen. Bovendien moet u, na het corrigeren van de fout, de cursor terugbrengen naar het einde van de regel. In mijn applicatie heb ik besloten om het mechanisme voor het verplaatsen van de cursor te herwerken: om een ​​woord te wijzigen, hoef je alleen maar te vegen in het gebied tussen het toetsenbord en de zin die je typt zonder het tekstoverzicht te blokkeren.

Ik besloot de animaties van verwijderen en naar de top verplaatsen in mijn eentje te implementeren en de visuele begeleiding zo dicht mogelijk bij het echte leven te brengen. Iets heeft een hogere prioriteit gekregen - veeg naar rechts en de notitie gaat naar de bovenkant van de lijst. Om te verwijderen - veeg naar links en de doorgestreepte animatie laat zien hoeveel meer je nodig hebt om de veegbeweging uit te breiden om de verwijdering te voltooien. In het geval van onbedoelde verwijdering - u hoeft het apparaat alleen maar te schudden ("Shake") en de notitie keert terug naar zijn oorspronkelijke plaats.

Om de notitie te markeren, gebruikte ik LongTapGesture en de drie primaire kleuren van de applicatie - wit, blauw en rood, die het hoofdpalet van kleuren vormden.

Ik besloot om de overgang tussen dag- en nachtthema's automatisch te laten verlopen - waarom heeft niemand eraan gedacht om het uiterlijk te veranderen afhankelijk van de stand van de zon aan de hemel? Alles is heel eenvoudig - in het donker en na zonsopgang verandert het thema en hoeft de gebruiker niet afgeleid te worden van het maken van aantekeningen, omdat de applicatie zich altijd automatisch aanpast aan de omgevingsomstandigheden.

naamgeving

De naam van de applicatie is het belangrijkste onderdeel bij het ontwikkelen, het is het eerste wat de gebruiker ziet in de winkel. Op Habré staat hierover. Ik besloot de selectie van de naam grondig te benaderen: eerst doorliep ik de lijst met 1000 van de meest populaire woorden in de Engelse taal en schreef ik allerlei combinaties uit die geschikt zouden zijn voor de naam van een mobiele applicatie voor notities, bovendien wilde ik binnen 8-10 tekens blijven. Maar tegelijkertijd wilde ik de naam SuperNotes of NotesPlus enz. niet kiezen, ik wilde iets nieuws. Ik vond de combinatie leuk gekke opmerking, die ik tegenkwam in de Urban Dictionary:
gekke noot - uitstekend, onderhoudend, verrassend, onverwacht of ontzagwekkend

De slogan verscheen meteen: MadNotes - Noteer je passie. Aangezien ik al een palet van primaire kleuren (wit, blauw, rood) had, besloot ik meteen met een passend icoon te komen. De situatie met logo's voor dit soort toepassingen is betreurenswaardig:

Omdat aantekeningen met een potlood of pen op papier worden geschreven, heb ik besloten dit op het pictogram weer te geven - een potlood dat in een hoek van 45 graden is gedraaid. Het bleek als volgt:

Resultaat

Aangezien het project oorspronkelijk was opgevat als een ontwerpproject, besloot ik om met mijn aanmelding deel te nemen aan de Oekraïense Design Awards: The Very Best Of, een volledig Oekraïense wedstrijd in de categorie Digital Design. Er waren nog enkele weken voor de wedstrijd, gedurende welke tijd ik erin slaagde om op Behance te publiceren, waar ik alle hoofdfuncties van de applicatie visueel liet zien en ook een videovoorbeeld opnam.
Aangezien de winnaars van de wedstrijd pas op het allerlaatste moment bekend worden gemaakt, was het ongelooflijk aangenaam om hun werk te zien op de tentoonstelling van de werken van de winnaars - de jury zag en waardeerde het hoofdconcept - een minimalistische en tegelijkertijd functionele applicatie voor het maken van aantekeningen.


De applicatie staat al enkele maanden in de AppStore, gedurende die tijd heb ik zes updates gedaan en de code herschreven in Swift. In de nieuwste versie (1.2) is synchronisatie met iCloud toegevoegd, dus de notities zijn er al in geslaagd om naar de cloud te verhuizen.

Dank u voor uw aandacht.
Let op je passie

Veel mensen dachten er waarschijnlijk aan om hun eigen iOS-applicatie te maken. Als u echter nieuw bent in dit bedrijf, is de eerste stap in het beheersen van het besluit waar te beginnen.

Het belangrijkste doel van dit artikel is om richtlijnen op te stellen voor een beginnende iOS-maker, met behulp waarvan het gemakkelijker zal zijn om te begrijpen waar ze hun ontwikkeling op dit gebied kunnen beginnen. Je leert over de ontwikkelaarstools die je nodig hebt, raakt vertrouwd met de basisprogrammeertaal voor iOS-applicaties, Objective-C, leert wat Cocoa is, krijgt een aantal handige links en meer.

IOS Developer Toolkit

Om te beginnen, installeren we eerst alle benodigde tools: Xcode - een programma gemaakt door Apple voor het maken van applicaties voor OS X, iOS en de iOS SDK.

Xcode is een geweldig apparaat dat alles biedt wat je nodig hebt om applicaties voor de iPhone en iPad te ontwikkelen. Xcode UI is een enkel werkvenster ( werkplek raam), waarin alle magie gebeurt: van het schrijven van de code, het controleren en het debuggen van bugs tot het ontwikkelen van de software-interface. De hierboven genoemde iOS SDK om de Xcode-toolbox uit te breiden, vereist geen extra download en wordt automatisch geïnstalleerd met Xcode.

Dus, zoals je al begreep, begint al het werk met de installatie van de nieuwste versie van Xcode, die te vinden is in de Mac App Store.

De tweede stap is het registreren van een nieuw aangemaakte iOS-programmeur in het iOS Developers Program. Registratie is noodzakelijk als je serieus bezig bent met het ontwikkelen en promoten van je geesteskind in de AppStore. Anders hoef je je geen zorgen te maken en jezelf te beperken tot de Simulator die is opgenomen in de iOS SDK.

Je kunt hier meer te weten komen over de volgende stappen bij het beheersen van Xcode:

Objectief-C taal

Objective-C is een objectgeoriënteerde programmeertaal die wordt gebruikt om iOS-applicaties te bouwen. Objective-C is een superset van de C-taal, wat betekent dat je code kunt schrijven met zowel C als Objective-C.


Hier is een kleine selectie van verschillende bronnen (boeken en sites) die u kunnen helpen om Objective-C onder de knie te krijgen: Voor degenen die Engels kennen:

Kaders

Elke iOS-app is gebouwd met Objective-C- en Cocoa-frameworks. Apple-frameworks bevatten een bibliotheek met functies die uw toepassing aanroept. Tegelijkertijd kunnen meerdere applicaties tegelijkertijd toegang hebben tot de framework-bibliotheek.

Apple maakt frameworks die al alle benodigde functies bevatten, wat tijd bespaart en een soort garantie is voor de kwaliteit van het geleverde werk.

Voor degenen die kennis willen maken met het onderwerp hier:

Sjablonen

Projectsjablonen zijn essentiële hulp bij het maken van standaard iOS-apps. Dit betekent echter niet dat sjablonen alle problemen oplossen: nadat u vertrouwd bent geraakt met de basis iOS-ontwerppatronen, zal de ontwikkelaar op de een of andere manier zijn creatie moeten "bijsnijden", in overeenstemming met de bestaande behoeften.

Aantrekkelijke schaal

De visuele component van de iOS-applicatie krijgt niet minder belang dan de functionele. Daarom is het belangrijk om het belang van de interface te onthouden bij het ontwikkelen van software. De belangrijkste verwachtingen van gebruikers van de applicatie in visuele termen kunnen in een paar woorden worden beschreven - aantrekkelijkheid, interactiviteit en, belangrijker nog, de intuïtiviteit van de interface.

Meer over het ontwerpen van interfaces:

En nog een paar punten

Laten we nu een beetje afdwalen van de technische component en ons wenden tot ideeën. Bij het maken van een applicatie is het belangrijk om te begrijpen wat het doel is en welke functies het zal uitvoeren. Bepaal of de applicatie alleen op de iPhone zal werken, of misschien op de iPad, of dat deze universeel zal zijn. Neem wat meer tijd en beslis over het type datamodel, interfacestijl, studiekaders. Dit alles zal u helpen om de architectuur van de software beter te begrijpen.

Hiermee is onze excursie in de wereld van de ontwikkeling van iOS-applicaties afgesloten en wordt aangenomen dat je nu het antwoord hebt op de vraag "waar te beginnen". De rest is allemaal in jouw handen.

Als je het antwoord op je vraag niet hebt gevonden of als er iets niet werkt voor je, en er is geen passende oplossing in de reacties hieronder, stel je vraag dan via de onze. Het is snel, eenvoudig, handig en vereist geen registratie. In de rubriek vindt u antwoorden op uw eigen en andere vragen.

Het beroep van programmeur is een van de meest prestigieuze en gevraagde, dat is een feit. De softwareontwikkelingsindustrie heeft zijn eigen niches. Hiervan is softwareontwikkeling voor mobiele apparaten de snelst groeiende en tegelijkertijd best betaalde. Zoals u weet, gebeurde het zo dat, de concurrenten ver achter zich gelaten, drie vaste rivalen de leiding namen. De truc is zo vastgelegd dat een van deze drie de onvoorwaardelijke leider is, iemand is altijd aan het inhalen.

In het segment van de mobiele technologie loopt Apple ongetwijfeld voorop met zijn iPhone. Tijdens een presentatie in september heeft het in Cupertino gevestigde bedrijf al de 7e versie van het mobiele apparaat gedemonstreerd. Samen met het introduceerde Apple een nieuwe versie van het mobiele besturingssysteem iOS 10. Nu is het het belangrijkste besturingssysteem ter wereld, net als zijn voorgangers. Hieruit volgt dat het leren van iOS-ontwikkeling de meest winstgevende investering van tijd en geld is.

Apple-ecosysteem

Vandaag gaan we een eenvoudige mobiele applicatie voor iOS ontwikkelen. Een native Mac is hier natuurlijk het meest geschikt voor. Maar als u een Windows-supporter bent of gewoon geen Mac hebt, kunt u het macOS-besturingssysteem onder een virtuele machine in Windows installeren. Op internet zal het voor u niet moeilijk zijn om een ​​speciaal voor pc aangescherpte versie van macOS te vinden, in de volksmond Hackintosh genoemd. Zet het gerust op de virtuele VMware-machine, VirtualBox - naar keuze. Ik zal je meteen waarschuwen dat het pc-toetsenbord niet over enkele van de toetsen beschikt die op het Mac-toetsenbord zitten en dat veel van hun combinaties niet kunnen worden ingedrukt in Hackintosh. Het bederft de stemming behoorlijk. Anders kunnen alle hieronder beschreven bewerkingen met succes worden uitgevoerd op Hackintosh.

Vereiste kennis

Om te programmeren in het algemeen en voor iOS in het bijzonder, moet je veel weten. Wiskunde en logica zijn in het begin misschien niet nodig, maar later zal er veel vraag naar zijn. Moderne technologieën hebben de programmeur verlost van de noodzaak om de architectuur van de computer grondig te kennen, maar het is noodzakelijk om basismechanismen zoals nummersystemen, hun transformaties, de snelheid van subroutines of de efficiëntie van algoritmen (grote O) te begrijpen.

Op een hoger niveau moet een iOS-ontwikkelaar een grondige kennis hebben van het macOS-besturingssysteem en iOS zelf. Je moet ook zeker de programmeertaal "appel" beheersen. Het kennen van Delphi, C++, C# of VB.NET zal je niet veel helpen. Apple heeft een eigen ecosysteem met eigen talen: Objective-C en Swift. Natuurlijk heeft kennis van C++ nog niemand kwaad gedaan, programma's en inserts erin zijn overal te vinden, zelfs bij Apple. Maar de meest gebruikte per definitie is Objective-C, simpelweg omdat het veel eerder verscheen (midden jaren tachtig van de vorige eeuw), terwijl Swift slechts twee jaar geleden (in 2014). Apple heeft hoge verwachtingen en investeert fors in de nieuwe taal. Om de oude software te ondersteunen, wordt Objective-C gebruikt en de nieuwe is geschreven in Swift. Het is dus goed voor u om beide te kennen.

Om geen tijd tevergeefs te verspillen, kunnen al deze programmeertalen worden bestudeerd onder strikt toezicht van de docenten op de site.

Ontwikkelingshulpmiddelen

Zoals je weet, is de belangrijkste ontwikkelaarstool voor macOS en daarmee iOS de programmeeromgeving Xcode... Het bevat tools voor het maken van apps voor Mac, iPhone, iPad, Apple TV, Apple Watch. Alle Apple-platforms. Xcode bevat de Interface Builder, een code-editor die alle moderne coderingstools ondersteunt. Bovendien kunt u, zonder Xcode te verlaten, de applicatie testen; als het wordt ontwikkeld voor een extern apparaat, kan het in de emulator worden uitgevoerd.

Het systeem bevat emulators van alle apparaten, waarvan nieuwe versies kunnen worden gedownload. Daarnaast bevat Xcode grafische tools voor het analyseren van applicatieprestaties, inclusief tools voor het diagnosticeren van CPU-gebruik, opslaggebruik (HDD, SDD en andere) en grafische adapterbelasting (van de OpenGL-kant).

Op 13 september werd een nieuwe, langverwachte versie van de 8.0-ontwikkelomgeving uitgebracht. De stabiele versies zijn gratis te downloaden in de App Store. Alfa's en bèta worden gedistribueerd door het abonnement van de ontwikkelaar. De achtste versie bevat: een nieuwe versie van de Swift 3-taal, een Swift Playground-leertool voor iPad, een nieuwe versie van Interface Builder, die sneller is geworden en waarmee u de applicatie-indeling op verschillende platforms kunt bekijken, zonder dat u de applicatie zelf naar de simulator.

Met Xcode 8 kun je apps ontwikkelen voor macOS Sierra, iOS 10, watchOS 3 en tvOS 10. Alle SDK's zijn inbegrepen. Nieuwe versies van besturingssystemen begonnen consequent te verschijnen na de presentatie van Apple begin september.

Objectief-C taal

Laten we even de basisinformatie over de taal in herinnering brengen. Objective-C is een gecompileerde objectgeoriënteerde programmeertaal die wordt gebruikt om applicaties voor Apple-systemen te schrijven. Het is een superset of, met andere woorden, een add-on op C, die van de laatste syntaxis, gegevenstypen, methoden voor het besturen van de uitvoering van het programma en de mogelijkheden van objectgeoriënteerd programmeren erft - de beschrijving van klassen en methoden .

Net als in C++ staat Objective-C centraal bij objecten die zijn geassocieerd met vier paradigma's: abstractie, inkapseling, overerving en polymorfisme. C ++ is sterk getypt, terwijl Objective-C zwak is getypt of een dynamisch gegevenstypesysteem heeft. Net als Smalltalk stuurt Objective-C berichten naar objecten. Dit is een uitzonderlijke eigenschap van dynamische talen, omdat het type objecten tijdens runtime wordt gecontroleerd, niet tijdens compileren.

Beschrijving van de Objective-C-taal neemt meer dan één omvangrijk volume in beslag. Daarom is het handig om de cursus "" te volgen om objectieve kennis te verwerven. Een heel deel van de cursus is aan deze taal gewijd.

IOS-app-ontwikkeling

Als voorbeeld zullen we een zeer eenvoudige applicatie ontwikkelen. Laten we niet afwijken van de heilige traditie, laten we de wereld begroeten. Aangezien we echter een grafische toepassing hebben, zullen we deze een beetje diversifiëren: we zullen een knop toevoegen, door op te drukken, zullen we de inscriptie "Hallo, wereld" weergeven of verbergen.

Start Xcode, in het venster dat verschijnt, selecteer Nieuw project maken of in het hoofdmenu Bestand -> Nieuw -> Project. In het volgende venster wordt u gevraagd om het doelplatform en het toepassingstype te selecteren.


In dit geval zijn we geïnteresseerd in het iOS-platform. Er zijn zeven soorten toepassingen om uit te kiezen. Zes daarvan zijn stompjes van typische iOS-applicaties, die standaard een andere set componenten bevatten. Het zevende type is spelen.

Toepassingstypen

  • De stub Single View-toepassing is voor een eenvoudige toepassing op één scherm. De voorinstelling bevat een View Controller-component waarmee u het uiterlijk van uw toepassing kunt aanpassen met de Interface Builder.
  • De Master Detail-toepassing maakt een toepassing die een verzameling objecten in een tabelweergave weergeeft. Nadat u er een hebt geselecteerd, wordt gedetailleerde informatie over dat object weergegeven. De eerste is de meester, de tweede is detail.
  • Met behulp van Page-Based Application worden applicaties gemaakt die meerdere schermen hebben, zoals pagina's in een boek. Daarom worden uit deze blanco bijvoorbeeld readers gemaakt.
  • Toepassing met tabbladen stelt u in staat om toepassingen te maken waarbij u op elk moment naar elk scherm kunt overschakelen, dat wil zeggen dat elk scherm zijn eigen knop heeft om het te activeren, waarop de titel wordt weergegeven. iTunes is een voorbeeld.
  • Spel wordt gebruikt om een ​​spelsjabloon te maken. Er zijn vier frameworks om uit te kiezen voor het maken van een game: SpriteKit, SceneKit, OpenGL ES, Metal. Laten we ze snel bekijken.
    SpriteKit is een systeem voor 2D-rendering en animatie van gestructureerde rechthoeken - sprites. Bij het weergeven van frames wordt een standaardcyclus gebruikt, het frame wordt weergegeven nadat de verwerking alle inhoud van de scène heeft doorlopen.
    SceneKit is een framework op hoog niveau voor het renderen van 3D-graphics zonder OpenGL te gebruiken. Het ondersteunt het laden en manipuleren van 3D-objecten. Het bevat een physics-engine, een deeltjesgenerator en een eenvoudige manier van scripten.
    OpenGL ES is een grafische standaard voor computers. Hiermee kunt u 2D- en 3D-scènes renderen. Hiermee kunt u de pijplijn voor een videokaart beschrijven: de hoekpunten worden getransformeerd, samengevoegd tot primitieven, die worden gerasterd tot een tweedimensionaal beeld en op het scherm worden weergegeven. U kunt programmeerbare shaders in de pijplijn opnemen.
    Metal is een low-level API waarmee je al het vermogen uit je videoadapter kunt persen. Debugged API's, samen met voorgecompileerde shaders en multithreading, brengen je game naar een hoger prestatie- en kwaliteitsniveau.
  • Sticker Pack-applicatie is een nieuw soort applicatie die verscheen in iOS 10 en Xcode 8. Het is een verzameling eenvoudige of geanimeerde afbeeldingen die in de nieuwe iMessage worden gebruikt. Het vereist geen codering voor het maken ervan.
  • iMessage-toepassing is een nieuw soort toepassing die verscheen in iOS 10 en Xcode 8. Hiermee kunt u add-ons maken voor iMessage, bijvoorbeeld om uw pakket stickers te kopen en te downloaden. Je kunt ook de iMessage API gebruiken om je eigen analoog van deze applicatie te maken, inclusief het afspelen van audio, video, het gebruik van stickers en meer.

Oprichting van het eerste project

Laten we Single View Application kiezen als sjabloon voor onze applicatie. Aangezien we geen groot programma zullen ontwikkelen, zullen de fondsen die door deze voorbereiding worden verstrekt voldoende zijn. Klik volgende. Op de volgende pagina van de wizard moet u de naam van het project invoeren, bijvoorbeeld ShowLab. Laat in de vervolgkeuzelijst Taal de standaardtaal - Objective-C. Laat vervolgens in de vervolgkeuzelijst Apparaten de selectie Universeel staan. Dit bepaalt voor welk apparaat (iPhone of iPad) de applicatie is gemaakt. De Universele clausule betekent voor beide. Schakel de selectievakjes Eenheidstests opnemen en UI-tests opnemen uit, we hebben geen tests nodig. Volgende. Laten we een map kiezen om het project op te slaan. Druk nu op de knop Aanmaken.

Dit opent een venster met een lijst van alle parameters die op het project zijn toegepast. In dit venster kunt u de eerder in de wizard ingestelde parameters wijzigen: oriëntatie, doelapparaat, enz.


Eerst moeten we de applicatie-interface maken. Om dit te doen, selecteert u met één klik het bestand Main.storyboard in de lijst aan de linkerkant (als dit bestand niet zichtbaar is, vouwt u de inhoud van de ShowLab-map uit). Rechts van de lijst wordt het hele venster ingenomen door Interface Builder. De apparaatindeling wordt in het midden weergegeven. In de rechterbenedenhoek van het venster bevindt zich het componentenpaneel. Sleep de componenten Label en Button van daaruit naar de lay-out. Boven het componentenpaneel staat een lijst met eigenschappen. Als u het niet hebt, klikt u op de knop Toon de attributeninspecteur onder de titel van het venster aan de rechterkant van de interface.

Selecteer de component Label in de lay-out en stel de eigenschap Tekst in: laat in de vervolgkeuzelijst de optie Gewoon staan, voer in de regel hieronder het vereiste label in, in ons geval "Hallo, wereld". Als de tekst niet binnen de randen van het tekstvak past, wijzigt u deze door grepen aan de randen van het onderdeel te slepen. Om het horizontaal te centreren, gaat u naar de Size Inspector-pagina door op de knop Show the Size Inspector te klikken (rechts van Show the Attributes Inspector). Selecteer op deze pagina Horizontaal centreren in container in de vervolgkeuzelijst Schikken.

Selecteer nu de component Knop, verander de eigenschap Text in het gewenste label - Switch. U kunt het op dezelfde manier centreren als hierboven beschreven.

Maak een koppeling tussen afbeeldingen en code

In Visual Studio (of Delphi) wordt het object in de code automatisch aangemaakt op het moment dat je de visuele component op het formulier plaatst. Dit gebeurt niet in Xcode, maar het vormt geen probleem.

Open de inhoud van het headerbestand ViewController.h in een apart venster door erop te dubbelklikken. Dit bestand bevat de verklaring van de extensie van de klasse UIViewController, gemarkeerd met het trefwoord @interface. Deze functie is toegevoegd in de tweede versie van Objective-C. Doe nu deze truc: beweeg de muiscursor over het onderdeel - een tekstlabel, houd de Ctrl-toets en de linkermuisknop ingedrukt. Verplaats de cursor naar het venster met de code (ViewController.h-bestand), een blauwe lijn zal zich achter de cursor uitstrekken. Laat de muis en de toets los in de ViewController-interfacebeschrijving.

Het venster voor het maken van een stopcontact verschijnt.


Dit is een objecteigenschap die verwijst naar een ander object (in dit geval een visuele component). U moet de naam van het Outlet-object invoeren, hiermee verwijst u naar de visuele component, laat het lab zijn. Vervolgens wordt het type object geselecteerd, het is correct geselecteerd: UILabel.

Nog lager in de lijst Opslag wordt het type objectreferentie geselecteerd: zwak of sterk. Als u sterk kiest, dan zal het object waarnaar de eigenschap verwijst, bestaan ​​zolang de eigenschap ernaar verwijst, in welk geval het niet automatisch kan worden verwijderd wanneer het niet langer wordt gebruikt. Aan de andere kant, wanneer een zwakke referentie van kracht is, kan het object zichzelf vernietigen. Selecteer dus het type zwakke link en klik op de knop Verbinden. Als resultaat wordt de volgende regel aan de code toegevoegd:

@property (zwak, niet-atomair) IBOutlet UILabel * lab;

Zorg ervoor dat Outlet een eigendom is.

Laten we nu een Outlet voor de knop maken. Het algoritme blijft hetzelfde. Alleen voor de eigenschap Naam moet u een andere naam invoeren, bijvoorbeeld maar. De regel wordt toegevoegd aan de code:

@property (zwak, niet-atomair) IBOutlet UIButton * maar;

Als resultaat hebben we twee verwijzingen naar de visuele componenten: lab en maar - respectievelijk, het label en de knop. Nu kunnen we met behulp van aanwijzers componenten in code manipuleren.

Vervolgens moet u een handler maken voor de button click-gebeurtenis. Open hiervoor het implementatiebestand ViewController.m in een apart venster. Op precies dezelfde manier als waarop u de regel naar het header-bestand sleepte om de uitlaat te maken, sleept u vanaf de knop de regel naar het implementatiebestand en zet u deze neer in het afsluitende opdrachthaakje - @end. Er verschijnt een venster voor het maken van een evenement, vergelijkbaar met het venster voor het maken van een stopcontact. U kunt het verschil zien: een verwijzing naar een object wordt gemaakt in het headerbestand en een methode wordt gemaakt in het implementatiebestand.


Vul het veld Naam in, de waarde vertegenwoordigt de naam van de eigenschap - methode. Laat het op Click zijn. Laat het veld Type standaard staan ​​- id. In Objective-C is dit type de voorouder van alle andere. In de vervolgkeuzelijst Gebeurtenis is de standaardgebeurtenis de Touch Up Inside-gebeurtenis, die optreedt wanneer de aanwijzer (muis, vinger ...) over de knop wordt losgelaten, dat wil zeggen, de laatste fase van het indrukken van de knop. Dat is wat we nodig hebben. Laat de standaardwaarde in de lijst Argumenten staan: Afzender is het object dat dit signaal heeft verzonden, in ons geval zal het altijd een knop zijn. Klik op de knop Verbinden. Als resultaat wordt de volgende code toegevoegd:

- (IBAction) onClick: (id) afzender ()

De min aan het begin betekent een privémethode. Het trefwoord IBAction markeert gebeurtenissen (methoden) van visuele componenten uit Interface Builder.

Tussen de opdrachthaken schrijven we de code die wordt uitgevoerd wanneer de knop wordt ingedrukt:

Lab.verborgen =! _Lab.verborgen;

In deze regel code keren we de waarde van de verborgen eigenschap om. Het heeft het BOOL-type, dat twee waarden heeft: YES - true en NO - false (enigszins ongebruikelijk voor Windows-programmeurs, waar waar en onwaar).

Let op het onderstrepingsteken voor de naam van het object - labels (_lab). Compilatie zal mislukken zonder. Er wordt automatisch een onderstrepingsteken toegevoegd voor objecten die zich in andere objecten bevinden; dat wil zeggen, in dit geval bevindt het lab-object zich in een ViewController-object. Dit was vroeger een voorwaardelijke regel die werd gebruikt om onderscheid te maken tussen objecten die zijn gedeclareerd als leden van een klasse en lokale objecten. En nu is dit een strikte regel geïmplementeerd in de taalcompiler.

Nu kunt u de applicatie compileren en uitvoeren op de simulator. We hebben gekozen voor de iPhone 7-simulator die bij Xcode 8 wordt geleverd. De knop voor compileren en uitvoeren is een zwarte rechthoek in de balk bovenaan de interface.

Na het compileren van de applicatie, het starten van de simulator en het laden van onze applicatie, wordt de interface weergegeven op het simulatorscherm: het opschrift "Hello, World" en de Switch-knop. Als je op de laatste drukt, verdwijnt de inscriptie, als je er nogmaals op drukt, verschijnt deze weer.

We hebben een heel eenvoudige applicatie gemaakt om de essentie van iOS-ontwikkeling te begrijpen. U kunt meer leren over het bouwen van Objective-C-apps voor iOS in onze GeekBrains-vriendencursus "". In de cursus wordt twee maanden de tijd gegeven om deze taal te leren. Tijdens de eerste maand - inleidende onderwerpen, en in de tweede - echte codering van professionele toepassingen.

Snelle taal

In 2014 introduceerde Apple een nieuwe programmeertaal - Swift. Het werd al snel de meest besproken en snelst groeiende taal ter wereld. Het is een betrouwbare, veilige, intuïtieve taal voor het ontwikkelen van applicaties voor macOS, iOS, tvOS en watchOS-besturingssystemen voor de hele vloot van Apple-apparaten. Swift is een efficiënte programmeertaal. Het is gemakkelijker te leren dan zijn voorganger, Objective-C, maar tegelijkertijd leent Swift er enkele van de beste ideeën van. Tegelijkertijd hebben de ontwikkelaars de talen compatibel gemaakt, dat wil zeggen dat één programma zowel Swift- als Objective-C-code kan bevatten. Er zijn miljarden regels code en honderdduizenden legacy-programma's geschreven in Objective-C in de wereld, dus de ondersteuning ervan zal zeker niet worden opgegeven.

Bij het ontwikkelen van Swift was het doel om de handigste systeemprogrammeertaal te creëren - snel, veilig en expressief.

Algoritme in Swift-taal is 2,6 keer sneller dan hetzelfde algoritme in Objective-C en 8,4 keer sneller dan in Python. Het gebruik van Swift maakt het proces van het ontwikkelen van programma's flexibeler en handiger.

Vanwege de exponentiële ontwikkeling werd de Swift-taal op 3 december 2015 overgedragen aan de open source-gemeenschap. Tegelijkertijd houdt Apple strikt toezicht op de ontwikkeling ervan en organiseert het een commissie om het te ontwikkelen. Swift is nu niet alleen beschikbaar op Apple-systemen, maar ook op Linux. Alle aanvullende tools om met de taal te werken, inclusief de debugger, standaardbibliotheek, pakketbeheerder, zijn ook gratis en open source.

De toekomst is aan deze taal. U kunt er meer gedetailleerde informatie over krijgen in de bovengenoemde cursus van GeekBrains "", waarin een hele maand wordt uitgetrokken om deze programmeertaal te bestuderen.

App Winkel

Simpel gezegd, de App Store is een content store voor het hele assortiment Apple-apparaten. Hier kun je games en applicaties kopen van zowel grote bedrijven als onafhankelijke ontwikkelaars. Elke ontwikkelaar, in welk land hij ook woont, kan zijn programma's gratis verkopen of distribueren op dit digitale distributieplatform. Om dit te doen, moet u zich registreren als ontwikkelaar en een licentie kopen om uw applicaties te verkopen. Dit is een vergoeding voor de geleverde dienst en de ontwikkeling van de App Store.

resultaten

We hebben een eenvoudige applicatie ontwikkeld voor het mobiele iOS-besturingssysteem met behulp van het Xcode-programmeersysteem samen met de Objective-C-taal. We hebben de voltooide applicatie getest op een simulator voor iPhone 7. We hebben geleerd hoe we een gebruikersinterface kunnen bouwen met Interface Builder, hoe grafische elementen kunnen worden gekoppeld aan de applicatiecode en hoe we event-handlers kunnen maken. Bekend met de basis van Objective-C. Daarnaast vestigden we de aandacht op de veelbelovende Swift-taal die wordt gebruikt om krachtige en veilige applicaties voor het Apple-ecosysteem te ontwikkelen.

Het bestudeerde materiaal is echter slechts het begin. Om intensief te upgraden naar mobiele codering en de ontwikkeling van real-life applicaties, raden we aan de "" cursus op de site van onze vrienden te volgen.

Dit is een waardige cursus: na het voltooien van het, zult u zeker geen tijd meer verspillen. Het begint met twee gedetailleerde cursussen over de Java-taal, gevolgd door basisprogrammering voor het mobiele Android-besturingssysteem. Verder een cursus over databases in het algemeen en de taal SQL in het bijzonder. Daarna een verdiepende cursus over het ontwikkelen van professionele Android apps. Daarna zal de studierichting naar Apple-systemen gaan: twee gedetailleerde cursussen over de Objective-C-taal en een nuttige cursus over Swift.


Cursuslezingen worden gegeven door professionele docenten met uitgebreide ervaring in softwareontwikkeling. Als er iets niet duidelijk is, kun je direct een vraag stellen. Over het algemeen is leren op GeekBrains een levend proces, je kunt communiceren, vragen stellen, helpen met antwoorden. Om de opgedane kennis te toetsen, geven docenten huiswerk mee, dat wordt gecontroleerd. Na het afronden van de opleiding wacht je een gegarandeerde stage in een IT-bedrijf. En dan hangt alles van jou af, als je jezelf laat zien als een competente specialist, word je uitgenodigd om te werken.

Speciaal project met het bedrijf

Twijfel je of het de moeite waard is om te investeren in de ontwikkeling van een mobiele applicatie? Je kunt het zelf doen en helemaal gratis. U kunt eindigen met een testcase die nuttig is om de effectiviteit van een mobiele strategie te evalueren. En als je het probeert, zul je een degelijke mobiele applicatie maken die het belangrijkste hulpmiddel zal worden voor online interactie met eigenaren van smartphones en tablets.

Neem contact op Laten we bespreken?

Is het de moeite waard om je eigen mobiele applicatie te maken?

Kosten. Als u het woord niet gelooft, volgen hier enkele feiten:

  • Volgens Flurry Analytics en comScore gebruiken smartphone- en tabletbezitters de browser slechts 14% van de totale tijd dat ze het apparaat gebruiken. En ze besteden 86% van hun tijd aan verschillende applicaties.
  • De geïnstalleerde applicatie is uw directe communicatiekanaal met de consument. Denk maar eens na: u hoeft geen geld uit te geven aan advertenties of te wachten tot iemand u vindt met Yandex. Het blijft om de functionaliteit te behouden die de gebruiker nodig heeft en hem relevante inhoud te bieden.
  • Het aantal aankopen met tablets en smartphones groeit zowel op internet in het algemeen als op internet. Volgens het marketingbureau Criteo zal al in 2016 meer dan de helft van de online transacties op het Russische internet via mobiele apparaten plaatsvinden.

Als u wilt, is de app een mobiele browser die alleen uw site opent. Wanneer zou een gebruiker zo'n internetbrowser installeren? Alleen als hij interesse heeft in jouw product of informatie. Onthoud daarom: de klant die de applicatie heeft geïnstalleerd, is een loyale en koopvaardige vertegenwoordiger van de doelgroep.

Is het in dit geval het risico waard en trouwe klanten doe-het-zelf-applicaties aan te bieden, in plaats van op maat gemaakte programma's voor Android en iOS gemaakt door professionals? Laten we het uitzoeken.

Wanneer kun je zelf een applicatie maken

Weet jij nog wat websitebezoekers nodig hebben? Ze komen voort uit de inhoud of functionaliteit van de bron. Mensen willen informatie krijgen, iets kopen, foto's van vrienden zien en erop reageren, enzovoort. Gebruikers van mobiele apps willen hetzelfde. Ze zijn op zoek naar informatie of doen een transactie.

Weet je nog wanneer een bedrijf zelf een website kan maken? Dat klopt, als er nog geen geld is om met professionals samen te werken, maar er wel tijd en zin is om met WordPress of Joomla aan de slag te gaan. Dezelfde situatie is met toepassingen. Zelf gemaakte programma's voor iOS en Android zijn grofweg te vergelijken met sites op "engines" met open source.

U hoeft zich niet te registreren om te beginnen. Klik op de knop Nu maken op de hoofdpagina of selecteer het menu App maken in de rechterbovenhoek van een pagina van de service.


Kies de juiste app-sjabloon. Als we het hebben over een inhoudsproject, zijn de volgende opties wellicht interessant voor u:

  • Handmatig. Met dit sjabloon kunt u een gidsprogramma maken.
  • Bloggen. De app helpt je blogpubliek om nieuwe notities te lezen vanaf hun smartphone- of tabletscherm.
  • Website. De sjabloon zet de site om in een applicatie.
  • Pagina's. Met behulp van deze sjabloon kunt u elke inhoud converteren naar een toepassing met eenvoudige functionaliteit.
  • Nieuws. Met de sjabloon kunt u een aggregatortoepassing maken voor branche- of regionaal nieuws.
  • Bladzijde. De sjabloon zet offline inhoud, zoals een e-book, om in een applicatie.
  • VK-pagina en Facebook-pagina. Maak een applicatie waarmee je de updates van open groepen op Vkontakte en Facebook kunt volgen.
  • YouTube. Gebruik de sjabloon om je YouTube-kanaal te promoten.

Een blog-app maken

Gebruik de blogsjabloon. Voer de URL van uw blog of RSS-feed in het daarvoor bestemde veld in. Kies een kleur voor de titel van je notities.


Voer een naam in voor de toepassing.


Voeg een beschrijving toe.


Kies een standaard of voeg een aangepast icoon toe. Een geschikt beeldformaat is 512 bij 512 pixels.


Klik op de knop Create App om het opstartbestand te maken. Daarna moet u zich registreren in het systeem. Bevestig de registratie en ga naar je persoonlijke account. Hier kunt u de applicatie op uw mobiele apparaat installeren, publiceren op Google Play en de Amazon App Store. Het systeem biedt ook een mogelijkheid om inkomsten te genereren. Als u deze functie gebruikt, worden advertenties weergegeven in de applicatie.


Controleer hoe de app werkt op uw mobiele apparaat. Op een tablet zou het programma een lijst met blogberichten in titel- en aankondigingsformaat moeten weergeven.

Open de sjabloon en pas het uiterlijk van de toepassing aan. Kies hoe de inhoud wordt weergegeven: stap voor stap op het scherm of een lijst met stappen.


Gebruik de editor om tekst, afbeeldingen, video's of links toe te voegen. Om een ​​foto aan het programma toe te voegen, uploadt u deze naar de Imgur-hosting en plakt u de link in het daarvoor bestemde veld.


Voer na het bewerken van de inhoud een naam in voor de toepassing, voeg een beschrijving en een pictogram toe. Klik op de knop App maken. Nadat u het opstartbestand hebt gemaakt, installeert u het op uw mobiele apparaat en controleert u of het werkt.

Houd er rekening mee dat de meeste mobiele apparaten standaard de installatie van applicaties van onbekende bronnen blokkeren. Als een gebruiker een programma van uw site of van de App Builder-site downloadt, krijgt hij een waarschuwing over een beveiligingsinbreuk te zien wanneer hij het probeert te installeren. Sommige klanten zullen waarschijnlijk weigeren het programma te installeren.


8 constructors vergelijkbaar met AppsGeyser

Als de universele constructor van AppsGeyser niet bij u past, let dan op vergelijkbare services:

  • AppsMakerStore. Met behulp van de service kunt u verschillende soorten toepassingen maken: van programma's voor e-commerce tot oplossingen voor inhoudsprojecten. De bouwer maakt apps voor iOS en Android. De service-interface is Russified. Voor beginners is er een informatieve handleiding voor het gebruik van de constructor. De dienst is betaald.
  • Mobinkubus. Een tool om iOS- en Android-applicaties te maken en er geld mee te verdienen. De basisfunctionaliteit van de dienst is gratis beschikbaar. Met de constructor kunt u verschillende typen toepassingen maken.
  • Goede kapper. Met deze service kunt u Android- en iOS-applicaties ontwikkelen. De constructeur wordt betaald, de gebruikskosten bedragen 16 USD per maand.

De meeste aangeboden diensten hebben een Engelstalige interface. Als u zich niet op uw gemak voelt bij het werken met constructeurs in het Engels, kies dan platforms met gerussificeerde inhoud.

Applicatiebouwers: stenen bijl of dun modern gereedschap?

Ga niet van het ene uiterste naar het andere. Met behulp van de voorgestelde diensten is het echt mogelijk om werkbare functionele applicaties te creëren. De resulterende programma's kunnen worden gebruikt om verschillende problemen op te lossen: van het aanbieden van online handel tot het verspreiden van inhoud en het opleiden van het publiek. Apps die in de constructor zijn gemaakt, kunnen worden gepubliceerd op Google Play en de App Store, worden bewerkt, inkomsten genereren met advertenties of betaalde installaties.

Onthoud dat het niet voldoende is om alleen een app te maken. Het is noodzakelijk om veel moeite te investeren in de promotie ervan. Neem contact met ons op als u dit werk wilt toevertrouwen aan professionals die precies weten wat ze moeten doen om nieuwe gebruikers aan te trekken.

Overschat de aangeboden diensten niet. Hun duidelijke nadeel is stereotiep. Het gaat zowel om het ontwerp als om de functionaliteit van programma's. Daarnaast wordt toegang tot platforms met behoorlijke functionaliteit betaald. Wat is beter: een keer betalen voor het werk van de ontwikkelaars of jarenlang betalen aan de eigenaren van de aannemer? Tel jezelf.

En nog iets: als u geen tijd heeft om zelf een mobiele applicatie te maken, neem dan contact op met ons bedrijf. We ontwikkelen mobiele applicaties, en.

Neem contact op Laten we bespreken? Bestel een gratis consult

Geen financiële investering en speciale kennis.

Hier is de eenvoudigste handleiding over hoe u een eenvoudige iOS-app kunt maken en deze op uw apparaat kunt uitproberen. Op basis hiervan kun je dieper op het onderwerp ingaan en echt nuttige programma's maken.

Opmerking voor Windows-gebruikers: om iOS-apps te maken, moet u OS X op een virtuele machine (VirtualBox, VMware) installeren. Dit proces is geenszins eenvoudig en vereist een aparte instructie voor de implementatie ervan.

1. Ga naar de App Store en installeer de XCode ontwikkelomgeving:

Als u Xcode al heeft, moet u deze bijwerken.

2. Voer xCode uit en selecteer het menu-item Bestand -> Nieuw -> Project:

3. Selecteer het platform en het type applicatie:

4. We geven informatie over het project aan. Houd er rekening mee dat we het toepassingstype "Universeel" hebben geselecteerd:

5. Druk op de knop Nieuwe map en specificeer de naam van de map waarin we de toepassingsbestanden zullen opslaan:

6. Schakel het selectievakje Git-repository maken uit en klik op de knop Maken. Als gevolg hiervan zou u naar het startscherm moeten gaan om aan de applicatie te werken:

7. Klik op het item Hoofdverhaalbord sleep in het rechtermenu het element naar het hoofdveld Label en voeg er tekst aan toe Hallo Wereld:

8. Nu moeten we een pictogram voor de toepassing maken. We selecteren een foto en uploaden deze naar mapappicon.com:

9. We wachten tot de webapplicatie klaar is met werken en geven ons e-mailadres aan om een ​​archief met pictogrammen te ontvangen:

10. Keer terug naar Xcode en selecteer de sectie in het linkermenu Activa.xassets:

11. Open het archief vanuit e-mail en sleep de pictogrammen van daaruit naar de Xcode-werkruimte:

12. Selecteer een van de apparaatsimulators, klik op de startknop van de applicatie (zwarte driehoek) en zet deze aan op je Mac Ontwikkelaarsmodus:

13. We proberen opnieuw te beginnen. We wachten tot iOS op de simulator is geladen:

14. Zorg ervoor dat de applicatie werkt:

We kijken naar de voltooide applicatie op het apparaat

Nu kunt u zien hoe de applicatie werkt op het apparaat. Zorg ervoor dat je de nieuwste versies van XCode en iOS hebt voordat je de instructies volgt.

1. Ga naar xCode -> Voorkeuren -> rekeningen en voeg uw Apple ID toe:

2. We verbinden het iOS-apparaat met de computer:

3. Selecteer het gewenste apparaat in de lijst en klik op de startknop. We wachten nog even.

4. Als er een bericht over beveiligingsproblemen is verschenen, gaan we op het iOS-apparaat naar: Instellingen -> de belangrijkste -> Apparaatbeheer en sta de lancering van applicaties van de ontwikkelaar toe met uw Apple ID:

5. We gaan naar het bureaublad en vinden het pictogram van de nieuwe applicatie:

6. Uitvoeren:

7. Koppel het apparaat los van de computer. Nu kan de applicatie worden gebruikt.

Wat als je meer wilt?

Met behulp van wetenschappelijke por en Google kunt u de bovenstaande reeks acties uitbreiden en een meer functionele applicatie maken. Maar je kunt het alleen op je eigen apparaten gebruiken.

Apple stelt immers zeer hoge eisen aan applicaties. De App Store Review-richtlijnen bevatten 29 punten en meer dan honderd subpunten. Om ervoor te zorgen dat een applicatie hieraan voldoet en geaccepteerd wordt voor publicatie in de winkel, heeft een ontwikkelaar een grote hoeveelheid technische kennis nodig.

Als u hoogwaardige iOS-apps voor massaal gebruik wilt maken,