Kuinka luoda ohjelma iOS: lle. Kuinka luoda onnistunut iOS-sovellus

Oletko koskaan miettinyt, kuinka miljoonien iPhonen, iPadin ja Macin omistajien päivittäin käyttämät iOS- ja OS X -sovellukset luodaan? Tiedämme, että monet ihmiset ovat miettineet ohjelmien kehittämistä Apple-laitteille, mutta aloittelijat pelkäävät yleensä oppimisprosessin vaikeuksia ja oppikirjojen opiskelua itsenäisesti.

Itse ammatti "iOS- ja Mac-sovellusten kehittäjä" on universaali: se yhdistää kahden ohjelmointikielen - Objective C:n ja Swiftin - tuntemuksen. Ensimmäinen on pääkieli, joka on rakennettu C-kielen pohjalta ja jolla on yksinkertainen syntaksi. Ilman tätä kieltä ihmisiä ei palkata töihin mobiilisovellusstudioon. Mutta Swift on suhteellisen uusi kieli: Apple esitteli sen vuonna 2014, se on integroitu C:hen ja toimii nopeammin kuin Objective C ja Python, joten voit luoda mitä tahansa ohjelmia - sekä pelejä että hyödyllisiä sovelluksia.

Nykyään vain harvat asiantuntijat tuntevat Swiftin, joten heillä on suuri kysyntä markkinoilla. Mene vain mille tahansa HR-alustalle nähdäksesi iOS-kehittäjien keskipalkan - 100 tuhatta ruplaa. Kokeneiden ohjelmoijien palkat ovat useita satoja tuhansia ruplaa + erilaisia ​​​​bonuksia yritykseltä.

Saadaksesi parhaat tulokset lyhyessä ajassa ja taatun harjoittelun, voit käyttää GeekBrains-palvelua. Se sisältää sekä Objective C:n että Swiftin, mikä tarkoittaa, että saat käytännössä kaksi erikoisuutta yhden sijasta. Yritykset myyvät älykkäitä iOS-ohjelmoijia, kuten hotcakesia, joten he eivät ole työttömänä edes viikkoa.

Oppimisprosessi on online-lähetys oppitunteja, joten voit opiskella mistä päin maailmaa tahansa. Erityisesti kehitetty ainutlaatuinen teknologia tekee etäopiskelusta vieläkin mukavampaa kuin kasvokkain tapahtuva oppiminen. Tee kotitehtäväsi ja jos et voinut olla luokassa, katso se äänitteeltä. Tältä näyttää tyypillinen oppitunti GeekBrainsissa:

Miksi verkkokurssit? Niillä on selkeä etu yliopistoihin verrattuna ajankäytössä ja samalla mahdollisuus ansaita käytännön kokemusta ja saada takuuta tuloksista. 7/10 palveluopiskelijaa löytää työtä vielä opiskellessaan, koska GeekBrains tarjoaa taatun harjoittelupaikan. Lisäksi opiskelijat saavat korvaamatonta kokemusta tiimin kehittämisestä ja portfoliotapauksesta. Ilman jälkimmäistä työtä on lähes mahdotonta saada nyt.

Esimerkiksi tältä ansioluettelosi saattaa näyttää harjoittelun jälkeen.

Viime kuun lopussa kehittäjä Richard Felix julkaisi viihdyttävän artikkelin, jossa hän yritti selittää mahdollisimman selkeästi ja ytimekkäästi kuinka luoda onnistunut sovellus iOS:lle. Erityisesti hän jakoi hyödyllisiä vinkkejä aloitteleville kehittäjille, omia havaintojaan ohjelmasuunnittelusta ja App Storen viimeisimmistä trendeistä.

Richard tuntee kaikki kehityksen hienoudet henkilökohtaisesta kokemuksesta, sillä hän on viime vuosina luonut useita suosittuja sovelluksia nykyaikaisille mobiilialustoille ja verkkoon (Are My Sites Up, Stunning, Dispatch ja muut).

Joten päätit jossain vaiheessa elämääsi ryhtyä kehittäjäksi ja kokeilla oman iOS-sovelluksesi luomista. Pelkäät, että käytät paljon aikaa (ja rahaa) sellaisen ohjelman kehittämiseen, jota kukaan ei käytä. Haaveilet sovelluksen luomisesta, joka myy aktiivisesti vuoden julkaisunsa jälkeen, mutta sinulla ei ole aavistustakaan, miten se tehdään. Alla kuvatut vinkit auttavat sinua saavuttamaan tavoitteesi.

Etsi alkuperäinen idea

Jokaisessa esittelyssä Apple ilmoittaa miljoonien iOS-laitteiden myynneistä ja upeista App Store -ennätyksistä. Tämän tosiasian ohjaamana monet aloittelevat kehittäjät olettavat virheellisesti, että toisen banaalin sähköpostiohjelman tai valokuvaeditorin luominen antaa heille mahdollisuuden ansaita miljoonia dollareita (heidän mielestään tämä ei välttämättä edellytä Applen sovelluskaupan listan kärkeen kiipeämistä).

iOS-alustan yleisyydestä huolimatta tämä on kuitenkin suuri väärinkäsitys. Tietenkin tässä tapauksessa ansaitset rahaa ja saat takaisin kehitysprosessin, mutta todella saavuttaaksesi merkittävä menestys, ohjelmasi ei saa suorittaa vain ilmoitettuja toimintoja, vaan sillä on myös oltava jonkinlainen omaperäinen piirre, eräänlainen kiihko, joka erottaisi sen sadoista kilpailijoista ja herättäisi huomion yleistä taustaa vasten.

Tutki kohdeyleisöäsi

App Store tarjoaa kenelle tahansa todellisen aarteen suosittujen sovellusten kaavioiden muodossa, joiden perusteella voit päättää ohjelman kategoriasta, huomata itsellesi joitain kohtia ja löytää sen erittäin alkuperäisen idean.

Tällä hetkellä voimme erottaa seuraavat kolme luokkaa App Storen suosituimmista ohjelmista:


  • Vaihtoehtoiset sovellukset iOS-järjestelmäohjelmille (parannetut laskimet, kalenterit, sähköpostiohjelmat, valokuvaeditorit, tehtävälistat jne.). Ne ovat suosittuja, koska monet ihmiset kohtaavat tavallisten iPhone/iPad-työkalujen rajoituksia ja haluavat laajentaa laitteidensa toimintoja. Apple luo ohjelmia massoille (ne ovat helppokäyttöisiä ja intuitiivisia), minkä vuoksi edistyneemmät käyttäjät kärsivät (jos tarvitset enemmän ominaisuuksia, sinun on käytettävä kolmannen osapuolen sovellusta - ja tämä on meille etu).

  • Pelejä ja monenlaisia. Varsinkin ne, jotka pakottavat sinut jakamaan sovelluksen ystävien ja työtovereiden kanssa, mikä on paljon arvokkaampaa kuin mikään mainosbanneri.

  • Sovellukset, joissa on vähimmäismäärä toimintoja, jotka näyttävät ensi silmäyksellä niin alkeellista, että monet kehittäjät hylkäävät tällaiset ideat jo projektia harkitessaan. Tyypillinen esimerkki on ohjelma nimeltä Over, jonka avulla voit lisätä kuviisi tyylikkäitä kuvatekstejä. Edistyneelle käyttäjälle Over voi tuntua melko rajoitetulta työkalulta, mutta monet aloittelijat ovat täysin tyytyväisiä tähän "valokuvaeditoriin", minkä vahvistaa hyvä myynti. On hämmästyttävää, kuinka yhden määritellyn funktion oikea toteutus voi johtaa täysin onnistuneeseen ohjelmaan.


Älä keksi pyörää uudelleen ja päivitä usein

Monet suositut iOS-sovellukset ovat saavuttaneet menestyksensä seuraavan ominaisuuden ansiosta - niiden avulla käyttäjä voi suorittaa nopeasti joitain toimintoja (esimerkiksi muokata valokuvaa), mutta ei kuormita häntä tarpeettomilla toiminnoilla ja painikkeilla. Sinun ei tarvitse keksiä pyörää uudelleen ja luoda valokuvaeditoria musiikin toistotoiminnolla.

Aseta itsesi käyttäjän asemaan, yritä keskittyä ominaisuuksiin, jotka tulevat olemaan Todella hyödyllinen. Kaikkia ideoita ei ole ollenkaan tarpeen toteuttaa ensimmäisessä versiossa, jätä pieniä ideoita sovelluksen tulevia päivityksiä varten. Kun ohjelma on julkaistu App Storessa, sinulla on paljon käyttäjäarvosteluja, joiden perusteella voit tehdä johtopäätöksiä tämän tai toisen toiminnon toteuttamisen tarpeesta.

Lisäksi sovelluksen säännölliset päivitykset mahdollistavat tuotteesi jatkuvan kuulumisen, "vilkkumisen" potentiaalisten ostajien silmien edessä blogimaailmassa.

Piirrä värikäs kuvake

Kaunis kuvake on avain minkä tahansa sovelluksen menestykseen ( siis kukaan? - Toimittajan huomautus). Pitämällä iPhonea tai iPadia käsissään, käyttäjä haluaa aina nähdä näytöllään korkealaatuista grafiikkaa ja "herkullista" muotoilua, joka, kuten sanotaan, miellyttää silmää. Ihmiset kiinnittävät todennäköisemmin huomiota ohjelmaan, jos suunnitteluosasto käyttää tarpeeksi aikaa ja vaivaa houkuttelevan brändikuvakkeen luomiseen. Viime kädessä tämän pitäisi auttaa sovellustasi pääsemään App Storen listan kärkeen.

Erikoissivustoilla, kuten

Monet uudet kehittäjät tai vain ohjelmoinnista kiinnostuneet ihmiset eivät tiedä kuinka nopeasti ja helposti luoda iOS-sovellus.

Analysoimme koko prosessin askel askeleelta, jotta jokainen voi lukea tämän materiaalin ja toteuttaa kehitystyön itse.

Ensimmäinen askel. Keksi idea ja nimi

Tietysti alusta alkaen sinun on keksittävä hyvä idea, joka voisi olla suosittu. Sovelluksen tulee olla yksinkertainen, toimiva ja hyödyllinen käyttäjille. Tässä on muutamia vinkkejä, joiden avulla voit löytää loistavan idean ja herätä se henkiin:

1 Mene AppStoreen ja katso siellä esiteltyjä ohjelmia. Ehkä jotain tulee mieleesi.

2 Myös katso sovellusluetteloasi(asennettu). On todennäköistä, että et pidä niistä kaikista ja haluaisit lisätä joitain toimintoja. Tästä tulee idea luomuksesi!

3 Katso ystäviesi sovelluksia samaan tarkoitukseen.

Tärkeä! Ideasi lopussa sinulla pitäisi olla selkeä käsitys siitä, mitä toimintoa sovelluksesi suorittaa.

Mitä tulee nimeen, tämäkin asia on otettava erittäin vakavasti. Katso ensin useimmat ja niiden nimet. Siirry osoitteeseen apple.com/ru/itunes/ tätä tarkoitusta varten. Muista tarkistaa ilmainen ja maksullinen osio.

Asiantuntijat korostavat useita vinkkejä siitä, mikä nimen tulisi olla, ja tarkemmin:

  • pituus noin 10 merkkiä (ei paljon enemmän, ehkä vähemmän, mutta jälleen kerran, ei liikaa);
  • mieluiten englantia (muuten, käyttöliittymässä pitäisi olla se myös kuluttajayleisön laajentamiseksi);
  • kaksi sanaa otsikossa;
  • yhden sanan on heijastettava täysin tarkoitusta;
  • toisen sanan on oltava kuvaus ensimmäisestä.

Vaihe neljä. Konseptin kehittäminen

Ensimmäisessä vaiheessa olet jo hyväksynyt tulevan hakemuksen idean ja nimen. Nyt kannattaa tehdä jotain, jonka avulla voit aloittaa kehittämisen suoraan. Kyse on konseptista. Siinä Konsepti sisältää seuraavat asiat:

  • Kohdeyleisö. Muista miettiä, kuka käyttäjästäsi tulee. Tämä voi olla nuori, määrätietoinen ja nykyaikaisiin laitteisiin perehtynyt. Toisaalta tämä voi olla iäkäs käyttäjä, joka on kaukana tekniikasta. Konseptin kaksi muuta osaa riippuvat tästä.

  • Toimiva. Luettele selkeästi kaikki sovelluksen suorittamat toiminnot.
  • Design. Piirrä vaikka paperille, miltä sovellus näyttää. Lisäksi sinun on ymmärrettävä selvästi, millainen aloitusnäyttö tulee olemaan, mitä painikkeita siinä on ja mitä lisäsivuilla on. Lisää myös painikkeita toimintoluettelon mukaan. Suunnittele myös kaikki painikkeet.

Kun sinulla on kaikki luonnokset, voit aloittaa koodauksen!

Vaihe viisi. Koodaus

Avaa nyt Xcode ja suorita seuraavat vaiheet ohjelmiston luomisessa iOS:ssä:

1 Napauta aloitusnäytön vasemmalla olevassa valikossa "Sovellus"(avaa tämä osio) ja valitse "Tyhjä sovellus". Klikkaus "Seuraava". Kirjoita seuraavaksi tietosi ja kirjoita kehittäjätunnus-kenttään (Applen antama). "esimerkki", ja määritä luokan etuliitekentässä "XYZ".

2 Valitse seuraavaksi "Tiedosto" ja avattavassa luettelossa "Uusi". Paina sitten peräkkäin "Käyttöliittymä", "Kuvakäsikirjoitus" ja painike "Seuraava". Valitse laitevalikosta ja kirjoita nimikenttään "pää". Tallenna tämä tiedosto samaan kansioon kuin pääprojektisi. Tämän jälkeen Main.storyboard-tiedosto ilmestyy projektipuuhun (vasemmalla). Tämä, kuten olet ehkä jo ymmärtänyt, on visuaalinen esitys ohjelmasi kaikista näytöistä. Tätä muokkaat jatkossa.

3 Nyt sinun on varmistettava, että kun käynnistät sovelluksen, juuri Storyboardissa luomasi näyttö avautuu. Voit tehdä tämän valitsemalla vasemmalla olevasta kansiopuusta peräkkäin projektisi, "Kohteet", "Kenraali", "Käyttöönottotiedot". Sitten lähelle kirjoitusta "Pääkäyttöliittymä" sinä otat "pää", kuten kuvassa 8 - juuri tätä kutsuimme näytöksemme edellisessä vaiheessa.

Riisi. 9. Luodun näytön määrittäminen Storyboardin päänäytöksi

4 Nyt sinun on itse asiassa luotava tämä päänäyttö, joka avautuu ensin käynnistyksen yhteydessä. Voit tehdä tämän vasemmalla olevassa puussa Napsauta "käsikirjoitus" kerran. Pääikkunaan avautuu tyhjä ikkuna. Napsauta oikeassa alakulmassa olevaa kuutiokuvaketta, joka on kirjasto, joka voidaan lisätä näytölle. Etsi nyt oikealta "Näytä ohjain" ja vedä se hiiren osoittimella tyhjään kenttään. Näkyviin tulee suorakaiteen muotoinen objekti. Itse asiassa voit lisätä kaikki elementit sinne.

5 Nyt voit lisätä muita objekteja kirjastosta. Nämä voivat olla tekstikenttiä, syöttökenttiä ja muita elementtejä. Jos kaksoisnapsautat niitä, voit muuttaa niiden attribuutteja ja ominaisuuksia. Itse asiassa samalla tavalla voit kirjoittaa koodin reagoidaksesi napsautukseen. Jos olet kuitenkin katsonut video-opetusohjelmia Objective-C:stä, tiedät erittäin hyvin, mitä elementtejä tarvitset ja miten ne lisätään.

6 Jos haluat lisätä toisen näytön, tee se samalla tavalla kuin ennen - siirrä kohde tyhjään tilaan "Näytä ohjain". Sitten voit myös siirtää siihen erilaisia ​​esineitä.

7 Nyt meidän on varmistettava, että käyttäjä voisi liikkua näiden näyttöjen välillä pyyhkäisemällä tai napsauttamalla sopivaa linkkiä. Tätä varten on objekti nimeltään "Navigointiohjain". Siirrä se aloitusnäyttöön. Napsauta seuraavaksi "Toimittaja", sitten "Upotettu" ja edellä mainittuun kohteeseen. Harmaa palkki tulee näkyviin aloitusnäytön yläosaan. Tämä tarkoittaa, että siihen on lisätty ns. navigointipalkki.

8 Jos haluat lisätä näytön navigointipainikkeen, on objekti "Bar-painike". Tämä on painike yksinkertaisesti sanottuna. Siirrä se navigointipaneeliin ja aseta tarvittavat ominaisuudet.

Lisää loput objektit samalla tavalla ja aseta niille myös tarvittavat ominaisuudet. Emme mene liian syvälle sovelluksen koodaamiseen, koska tämä on erittäin laaja aihe. Lisäksi, jos luet yllä olevan materiaalin, tiedät tarvittavat tiedot tästä. Mutta yllä olevat koodausvaiheet ovat jatkokehityksen alkua.

Tämä on toinen kokemukseni sovelluksen luomisesta. Puhuin ensimmäisestä yksityiskohtaisesti - siellä puhuttiin investointien houkuttelemisesta, kehittäjien valinnasta jne. Valitettavasti ensimmäinen pannukakku tuli paakkuinen.

Olin suuresti pettynyt ohjelmointitaitojeni puutteesta, mikä antoi kehittäjille mahdollisuuden vääntää käsiään ja hyötyä tietämättömyydestä. Siksi päätin, että minun täytyy hallita koodausta itse, koska sovellusten luominen ja ohjelmoinnin tietämättömyys tarkoittaa joutumista erittäin vakavaan riippuvuuteen, jonka kehittäjät tietävät ja usein käyttävät hyväkseen.

koulutus

Pääsääntöisesti päätös tehtiin ja tammikuussa 2016 aloitin työt. Olen ammatiltani soveltuva tietojenkäsittelytieteilijä, mutta itse asiassa, Pascalin kanssa työskentelyn perustaitoja lukuun ottamatta, en ottanut yliopistosta mitään pois, ja se oli viisi tai kuusi vuotta sitten. Minulla oli myös vähän kokemusta työskentelystä HTML:n ja CSS:n kanssa yksinkertaisten verkkosivujen luomisessa, mikä ei kuitenkaan auttanut paljon sovellusten luomisessa. Aloitin siis ihan perusasioista. Muinaisesta ja lähes kokonaan unohdetusta Pascalista. Latasin "Free Pascal" -editorin http://freepascal.ru/, löysin oppikirjan ja aloitin yksinkertaisilla yhteen- ja vähennysohjelmilla. Yhteensä muistini virkistämiseen kului noin kaksi viikkoa oppitunteja, kahdesta kolmeen tuntia päivässä.

Pascalin syvällinen opiskelu vaati lisää harjoittelua, jota varten löysin Abrahamyanin Pascalin ongelmakirjan, jossa on 1000 tehtävää (PDF).

Koska halusin aloittaa hakemusten kirjoittamisen mahdollisimman pian, odottamatta ensimmäisen koulutusvaiheen loppua, samanaikaisesti Pascalin ongelmien ratkaisemisen kanssa, aloin opiskella C:tä kirjan "The C-ohjelmointikieli" mukaan - Brian Kernighan ja Dennis Ritchie (PDF). Sanon tässä erikseen, että huolimatta siitä, että tämä kirja on myös venäjäksi, opiskelin sitä alkuperäisellä kielellä, koska yleensä tiedän englantia melko hyvin, ja tämä on mielestäni varsin tärkeää jokaiselle ohjelmointiin osallistuvalle henkilölle. . Englanninkielisiä opetusmateriaaleja ja yksinkertaisesti materiaalia tietyllä ohjelmointikielellä on yleensä paljon enemmän kuin venäjäksi. Työskentely AppStoren kanssa, sovelluksen lataaminen, käyttöehdot jne., kaikki tämä on myös pääosin englanniksi. Voimme siis sanoa, että englannin taito teknisen kirjallisuuden lukemisen tasolla on ohjelmoijalle pakollinen taito.

Minulla on ollut Mac for C -ohjelmointi ensimmäisestä projektistani lähtien. Ratkaisin C-tehtävät Xcodessa. Ymmärtääkseni paremmin Pascalin ja C:n syntaksin eroa, aloin ratkaista tehtäviä samasta Abrahamyan-tehtäväkirjasta, mutta C:ssä. Kahden viikon päivittäisten 4-5 tunnin oppituntien jälkeen pystyin ratkaisemaan noin 300 tehtävää Pascalissa ja puolet vähemmän C:ssä sekä käymään läpi noin 100 sivua C-kirjasta. Samalla päätin liittää oppimisprosessiin englanninkielisen palvelun - Tree Housen.

Tämä on koulutuspalvelu, joka auttoi minua paljon HTML:n ja CSS:n hallitsemisessa. Tilaus maksaa alkaen 25 dollaria kuukaudessa. Mutta mielestäni tämä on perusteltua. Palvelu tarjoaa koulutusmateriaaleja useista ohjelmointikielistä, mukaan lukien Java, C#, Python, Swift ja monet muut. Koulutus tapahtuu vaiheittain videosta videoon erilaisilla käytännön tehtävillä.

Kaikki videot ovat erittäin visuaalisia, mielenkiintoisia, jatkuvasti päivittyviä ja selittävät yksityiskohtaisesti kaikki keskeiset kohdat, olipa kyseessä olio-ohjelmoinnin ydin tai Xcodessa työskentelyn periaatteet. Valitsin luonnollisesti koulutusmateriaalit C:stä ja iOS-sovellusten luomisesta Objective-C:llä.

Siten harjoitteluni muistutti yritystä edetä kaikilla rintamilla kerralla. Harjoittelin Pascalin tehtävien ratkaisemista voidakseni, kuten minusta tuntui, luodakseni ohjelmoinnin perustan mahdollisimman lujasti, opiskelin C:tä ymmärtääkseni Objective-C:tä paremmin ja lopuksi opiskelin Objective-C:tä aloittaakseni kirjoittamisen IOS:lle. niin pian kuin mahdollista.

Joten kului toinen kuukausi päivittäisistä tunneista keskimäärin 4-5 tuntia päivässä. Toisaalta saattaa olla loogisempaa edetä askel askeleelta, esimerkiksi käsitellä ensin Pascalia, sitten C:tä ja sitten siirtyä Objective-C:hen, mutta itse asiassa se oli yritys kattaa kaikki, mikä lopulta antoi minulle mahdollisuuden säästää paljon aikaa, kun aloin kiinnittää yhä enemmän huomiota Pascalin ja C:n ongelmien ratkaisemiseen, vaan suoraan sovellusten luomiseen Tree House -koulutusohjelmasta. Tämä oli paljon mielenkiintoisempaa ja pohjimmiltaan osoitti, että Abrahamyanin ongelmakirjan tehtävät sekä Kernighanin ja Ritchien C-kirjan materiaalit ovat hyviä perusasioiden ymmärtämiseen, mutta yleisesti ottaen ne ovat melko kaukana todellisesta sovellusten luomisprosessista. Tämän seurauksena lopetin kokonaan Pascalin ja C:n harjoittelun kolmannen harjoituskuukauden lopussa. Sen sijaan keskityin Tree Housen käytännön materiaaleihin Objective-C:stä ja sovellusten rakentamisesta Xcodessa.

Pelin luominen. Idea

Luotuani muutaman yksinkertaisen sovelluksen opetusohjelmasta päätin, että olen vihdoin valmis tekemään jotain mielenkiintoisempaa. Avattuani idealuetteloni, jota lisään ajoittain, kun mieleen tulee jotain mahdollisesti mielenkiintoista, otin katseeni ideoita luoda peli aiheesta "Korruption torjunta". Ajatuksen tarkoitus on, että korruptoituneet virkamiehet toimivat vihollisina, heidät on neutraloitava ja sitten pelimaailma muuttuu paremmaksi. On myös alateksti, joka sanoo, että korruptio on pahasta ja että mitä vähemmän sitä on, sitä parempi ympäristö. Ottaen huomioon, että aihe on tärkeä Venäjälle, enkä löytänyt sovelluksia, joilla olisi samanlainen idea, asettuin siihen ja aloin miettimään, kuinka se parhaiten toteutan.

Vaikka minulla ei vielä ollut aavistustakaan pelien luomisesta, päätin, että muutama opetusvideo ratkaisisi tämän ongelman. Ensin piti päättää, miltä peli näyttää. Pienen aivoriihen jälkeen päätettiin, että optimaalisin vaihtoehto olisi 2D-peli, jossa jokaisen tason sankari juoksee vasemmalta oikealle ja erilaisia ​​vastustajia ja esteitä juoksevat häntä vastaan. Tämä vaihtoehto vaikutti minusta hyväksyttävältä peliidean kannalta eikä liian vaikea toteuttaa.

Kun konsepti oli hyväksytty ja kuvattu lyhyesti, oli tarpeen ymmärtää, miten pelejä luotiin. Googlaattuani videon löysin heti sellaisen, joka osoitti kuinka luoda Flappy Birdin kaltainen peli ( Youtube).Tässä heräsi tärkeä kysymys. Ei ole mikään salaisuus, että Apple julkaisi vuonna 2014 uuden ohjelmointikielen - Swiftin, joka imee paljon hyvää Objective-C:stä ja josta tuli sen looginen jatko.

Tapaamani video puhui Flappy Birdin luomisesta nimenomaan Swiftissä, mutta en löytänyt sellaista, joka olisi yhtä yksinkertainen ja ymmärrettävä Objective-C:lle. Epäröimättä päätin, että tulevaisuus kuuluu edelleen Swiftille ja minun on parempi olla jäämättä jälkeen, varsinkin kun samassa Tree Housessa oli erinomaiset materiaalit sen tutkimiseen. Tuloksena pidin tauon oppiessani Swiftin, ymmärtämään syntaksia ja tärkeimmät erot Objective-C:stä. Taas kului viikko oppitunteja, keskimäärin 8 tuntia päivässä. Selailin läpi Swiftin perusopetusohjelmat ja päätin, että olen vihdoin valmis käymään läpi videon Flappy Birdin tekemisestä. Muutamassa päivässä pystyin luomaan tämän:

Saatuani yleiskäsityksen Sprite Kit -moottorin kanssa työskentelystä, pystyin vihdoin siirtymään sovellukseni työstämiseen.

Konsepti

Aluksi ajattelin tehdä vain yksinkertaisimpia asioita - 3-tasoinen rullaava tausta, animoitu sankari, aseet, hyppy- ja ampumiskyky. Tämä oli välttämätöntä, koska Sprite Kitin kanssa työskentelyyn liittyvien yleisimpien ideoiden lisäksi minulla ei ollut kokemusta, minun oli aloitettava jostain hyvin yksinkertaisesta. Kuinka tallentaa napsautuksia ja tehdä sankarihyppyjä, kuinka vierittää taustaa, kuinka luoda luoteja ammuntahetkellä jne. Näitä kysymyksiä oli kymmeniä tai jopa satoja. Ja ratkaisu kaikille on aina ollut sama – Google. Onneksi Internetissä on paljon erilaisia ​​materiaaleja (valitettavasti enimmäkseen englanniksi) pelien luomisesta Swiftissä, jotka tarjoavat esimerkkejä erilaisten minulle heränneiden kysymysten ratkaisemisesta. Kysymys/vastaus -palvelu Stack Overflow tarjoaa myös valtavasti ja korvaamatonta apua.

Luulen, että pystyin ratkaisemaan 70% kaikista kysymyksistä, joita minulla oli hänen avullaan. Käännyin myös Applen dokumentaatioon, mutta melko harvoin. Ehkä enintään 10 % tapauksista ja sitten kun muita vaihtoehtoja ei ollut.

Toisen kiireisen viikon jälkeen, jonka aikana omistin melkein kaiken aikani ohjelmointiin - 8-10 tuntia päivässä, pystyin luomaan tämän:

Se pystyi nykimään jalkojaan (piirsin animaation itse Photoshopissa), hyppäämään ja ampumaan haulikkosta ominaisella äänellä, samalla kun tausta rullasi taustalla. Tämä oli alku)

Prototyyppi

Tämä luonnos antoi minulle mahdollisuuden ymmärtää paljon tulevan pelini mekaniikasta ja varmistuttuani konseptin oikeasta päätin lisätä seuraavana askeleena vihollisia, jotka osaavat ampua yhtä hyvin kuin normaalin suunnittelun. Aluksi ajattelin tilata kaiken suunnittelun (tausta, sankari- ja vihollisanimaatiot, esineet jne.) freelancerilta, koska tämä on ainoa asia, jota en voinut tehdä itse. Mutta sitten mieleeni tuli Envato Marketin nettisivut: http://market.envato.com/, josta ostin aiemmin musiikkia, nettipohjia, esityksiä jne.

Sivustolla lueteltujen lisäksi siellä on laaja valikoima kaikenlaisia ​​animaatioita, tekstuureja, ääniä ja muita asioita, jotka ovat erittäin tarpeellisia sovelluksia luotaessa. Hinnat ovat myös mielestäni erittäin kohtuulliset. Esimerkiksi valitsemani päähenkilön animaatiosarja sisältää erilaisten esineiden (kolikot, timantit jne.) muodossa olevien bonusten lisäksi 8 animaatiota, kuten ammunta, juoksu, hyppy, kuolema jne.

Ostin tämän setin 7 dollarilla. Ainoa asia on, että heiltä ostetut tuotteet ovat eri lisenssejä. Jotkut esimerkiksi sallivat tuotteen käytön vain yhdessä tuotteessa rajoittamattomaan ilmaisjakeluun, toiset sallivat sen jälleenmyynnin kolmansille osapuolille, joiden tavoitteena on sama rajoittamaton ilmainen jakelu, toiset, kuten esimerkiksi musiikin osalta, sallivat jakelun vain rajoitettu määrä kuuntelijoita jne. Näiden lisenssien hinta vaihtelee ja voi usein vaihdella 4-5 kertaa.

Mutta koska en aikonut myydä sankaria erillisenä tuotteena, niin lisenssi sen rajoittamattomaan ilmaiseen jakeluun riitti minulle.

Yleensä ostin sankarin, aseita, vihollisia ja kaiken mitä taustalle tarvittiin. Itse taustaa ei myyty sellaisenaan.

Tämä on tulosta Photoshopissa tekemästäni työstä, joka on luotu paristakymmenestä eri esineestä - aidasta, asfaltista, koloista, roskakasoista jne. Kaiken kaikkiaan luominen kesti useita päiviä. Myöhemmin katsoin Envatoa noin 10 kertaa, joka kerta ostaessani jotain muuta tarvitsemani.

Seuraavaksi tuli tavallinen, toisaalta rutiini, mutta samalla erittäin mielenkiintoinen työ. Askel askeleelta ratkaisin tiettyjä nousevia ongelmia, lisäsin uusia toimintoja, kirjoitin uudelleen näennäisesti jo kirjoitettuja koodinpätkiä, kun löysin mahdollisuuden lyhentää, optimoida tai muuten parantaa niitä, korjasin bugeja jne. Tietysti, jos kirjoittaisin tällaisen hakemuksen nyt, olisin tehnyt kaiken kaksi kertaa nopeammin, mutta tuolloin kaikki oli minulle uutta ja minun piti viettää paljon aikaa parempien ratkaisujen etsimiseen. Kaksi kuukautta intensiivistä työtä kului ja prototyyppi, kuten oli tarkoitus, lopulta toteutui.

Minulla oli valmis taso, jossa oli 5 erilaista aseita, ensiapulaukkuja, esineitä, vihollisia ja paljon muuta. Seuraavaksi päätin testata ystävieni kanssa ja miettiä, mitä puuttuu. Korjauksia ja lisäyksiä on tehty melkoisesti. Niin paljon, että arvioni mukaan olisin varmasti työskennellyt pelin parissa vielä kuusi kuukautta. Mietin kaikkea pari päivää ja lopulta päädyin listaan ​​mitä todella tarvitsin, yliviivasin kaiken muun ja päätin käyttää avaruusteollisuuden menetelmää, josta olin joskus kuullut. Asia on siinä, että tietystä pisteestä, ennen laukaisua, oli kiellettyä tehdä mitään muutoksia tai parannuksia rakettiin. Muuten sitä voidaan parantaa ikuisesti.

Pelin viimeistely

Seuraavaksi tuli kysymys vihollisen suunnittelusta. Minulla on niitä yhteensä 6 tyyppiä - 5 yksinkertaista vihollista ja pomo + rehellinen kansalainen. Ajattelin tilata kaikki nämä spritet piirrettäväksi, koska halusin hahmojen olevan todenmukaisempia. Menin Freelance.Ru:hun ja julkaisin mainoksen 5 hahmon luomisesta, 18 animaatiota (8-25 kehystä) jokaista kohden. Animaatioita oli paljon, sillä tavallisten juoksevien, ampuvien, pidätettyjen, seisovien jne. lisäksi mukana oli myös kuolemaanimaatioita jokaisesta asetyypistä, joko hidastettuna tai ei hidastettuna. Halvin hinta hyvämaineelta freelancerina, joka minulle tarjottiin, oli noin 40 tuhatta ruplaa ja 1 kuukausi työtä. Se vaikutti minusta vähän kalliilta, joten käännyin jälleen Envaton puoleen. Onneksi sivustolle oli juuri ladattu kokoelma saman suunnittelijan erilaisia ​​spritejä.

Hänen kokoelmansa spritet sekä animaatiosarja maksavat keskimäärin 15 dollaria. Tärkeintä on, että spriten sisältävä arkisto sisältää tiedostoja Spriter-ohjelmaa varten.

Avaamalla Sprite tässä ohjelmassa ja ymmärtämällä sitä hieman (se on erittäin helppo oppia), voit tehdä hahmollesi mitä tahansa animaatioita erilaisilla kuvakäsikirjoituksella. Yleisesti ottaen ajattelin sitä ja ostin kaikki Envaton hahmot, minkä jälkeen käsittelin sen itse, lisäsin tarvittavat animaatiot ja latasin sen sovellukseen. Tekstuurien kanssa työskentelyn on sanottava olevan erittäin tylsää ja yksitoikkoista. Minun piti ladata luotu animaatio Spriter-ohjelmasta, käsitellä se Photoshopissa (laajenna, aseta mitat), sitten pakata, nimetä uudelleen, tehdä 1x, 2x, 3x kuvia. Kaikkien animaatioiden käsittelyyn meni luultavasti ainakin kuukausi. Kokonainen kuukausi yksitoikkoista ja yksitoikkoista työtä, onneksi sain assistentin mukaan tähän työhön. Mutta keksin koko prosessin, tein itselleni haluamani animaatiot ja tein ne uudelleen niin monta kertaa kuin tarpeen.

Samanaikaisesti tekstuurien työstämisen kanssa jatkoin pelin kehittämistä askel askeleelta. Kahden kuukauden jatkuvan työn jälkeen näin vihdoin valon tunnelin päässä. Mutta valitettavasti kävi niin, että jouduin lopettamaan työnteon lähes kahdeksi kuukaudeksi, kun muut asiat kasautuivat, plus kesä ja ylipäätään projekti jäi tauolle. Palasin töihin myöhemmin lokakuun alussa. Vaikka toivoinkin, että jäljellä oli enää hyvin vähän, itse asiassa eteeni alkoi ilmaantua ongelmia, joita en ollut kokemattomuuden vuoksi aiemmin edes epäillyt.

Ensinnäkin huolimatta siitä, että pakasin png-tekstuurini tällä online-palvelulla: http://compresspng.com/ru/, tämä ei johtanut siihen, että ne veivät vähemmän RAM-muistia sovelluksen ollessa käynnissä. Minun oli korkea aika saada selville, että kuvan koko ei ole sama kuin siihen tarvittavan RAM-muistin koko.

Toiseksi, löysin muistivuotojen ihmeellisen maailman, Xcode-työkalut niiden seurantaan ja kaikki "vahvan referenssisyklin" "herkut". Kun suoritin pelini työkalujen läpi, huomasin noin 3 ja puoli tuhatta vuotoa.

Kolmanneksi tajusin, että pelini 180 x 180 hahmojen tekstuuriresoluutio on olennaisesti liian korkea ja voin helposti tehdä kaikki animaatiot uudelleen 117 x 117 resoluutiolla ilman laadun heikkenemistä. On mielenkiintoista, että animaatioita luotaessa olin huolissani siitä, etten jättänyt lähteitä 360x360-resoluutioon. Koska 2x-kuvan koko oli 180x180, niin 3x-kuvan olisi ymmärrykseni pitänyt olla 360x360, mutta tietämättömyydestä en tehnyt niitä, ja kuten kävi ilmi, luojan kiitos, koska ne lopulta eivät olleet t tarvittu.

Neljänneksi pelini, kun kaikki animaatiot ja objektit lisättiin, alkoi hidastua huomattavasti. Tämä vaati paljon työtä animaatioiden, äänten ja muiden asioiden optimoimiseksi ja esilataamiseksi.

Tämän seurauksena minun oli pakko tehdä kokonaan uudelleen luomani animaatiokartasteet (kuten kävi ilmi, ei viimeistä kertaa) RAM-muistin kulutuksen vähentämiseksi. Pakkaa ja rajaa kaikki kuvat vähentäen niitä keskimäärin 30 %. Kiellä 3x kuvat tarpeettomina ja rajoita itsesi vain 1x ja 2x. Tee paljon työtä optimoinnin ja muistivuotojen eliminoimiseksi jne. Lisäksi itse pelin loppuun saattaminen vaati paljon työtä, koska aluksi kaikki näyttää olevan valmiina ja sinun tarvitsee tehdä vain viimeistely, mutta näiden silausten lisääminen vaatii paljon aikaa. Yleensä tämä kesti yli kuukauden, vaikkakaan ei kovin intensiivistä työtä keskimäärin 4-5 tuntia päivässä, koska ei ollut mahdollisuutta osallistua täysin projektiin. Ja marraskuun alussa kaikki oli enemmän tai vähemmän valmista.

Lataa seuraavaksi App Storeen. Täällä, aikaisemman kokemuksen ansiosta, ei ollut kysymyksiä. Päivän aikana tein kuvakaappauksia, yksinkertaisen kuvauksen, ensimmäisen kuvakkeen, joka tuli mieleen (muuten, heti kun sinulla on valmis kuvake, on parempi ajaa se tämän palvelun kautta: https://makeappicon.com /, lataat kuvakkeesi sinne ja se antaa sen sinulle takaisin kaikissa vaadituissa kooissa ja resoluutioissa) ja avainsanoja (valitsin ne palvelun https://sensortower.com/ avulla, sivusto voi antaa sinulle paljon hyödyllistä tietoa sinun tai muu sovellus, vaikka tilaus ei ole halpa).

Ja nyt sovellus on saatavilla AppStoresta. Hurraa, hurraa, mutta ei oikeastaan.

Virheet, kauhistuttavat jarrut, puuttuvat kuvat, kaatumiset jne. Tämä odotti minua testaessani eri iPhoneissa eri IOS-versioilla. Heti kävi ilmi, että huolimatta siitä, että peli toimii hyvin IOS 9:ssä, iOS 10:ssä se toimii kamalilla jarruilla, ja silloin tällöin ääni katoaa koko ajan. Olin "ilahtunut" 10:n sisältämästä lahjasta, mutta ei ollut minnekään mennä ja jatkoin virheiden etsimistä ja poistamista. Jälleen kerran, minun piti tehdä järjestelmä kokonaan uudelleen kaikkien tekstuurien sijoittamiseksi sovellukseen, järjestelmä kokonaan uudelleen toistaaksesi kaikki äänet ja korjata paljon muita bugeja. Päivitetyn XCoden kanssa työskenneltäessä tarvittava koodin muunnos Swift 2.0:sta Swift 2.3:ksi jätti erityisen lämpimän vaikutelman. Lyhyesti sanottuna, vietin jälleen kerran yli kuukauden viimeistelen kaiken ja vasta 13. joulukuuta pystyin lataamaan enemmän tai vähemmän toimivan version. Vaikka on selvää, että tämä ei ole viimeinen päivitys.

Ilman taloudellisia sijoituksia ja erityisosaamista.

Tässä ovat yksinkertaisimmat ohjeet iOS-perussovelluksen luomiseen ja sen kokeilemiseen laitteellasi. Sen perusteella voit mennä syvemmälle aiheeseen ja luoda todella hyödyllisiä ohjelmia.

Huomautus Windows-käyttäjille: iOS-sovellusten luomiseksi sinun on asennettava OS X virtuaalikoneeseen (VirtualBox, VMware). Tämä prosessi ei ole mitenkään yksinkertainen ja vaatii erilliset ohjeet.

1. Siirry App Storeen ja asenna XCode-kehitysympäristö:

Jos sinulla on jo XCode, sinun on päivitettävä se.

2. Käynnistä xCode ja valitse valikkokohta Tiedosto -> Uusi -> Projekti:

3. Valitse alusta ja sovellustyyppi:

4. Anna tietoa projektista. Huomaa, että olemme valinneet "Universal" -sovellustyypin:

5. Napsauta painiketta Uusi kansio ja ilmoita sen kansion nimi, johon tallennamme sovellustiedostot:

6. Poista valinta Create Git Repository -valintaruudusta ja napsauta Luo-painiketta. Tämän seurauksena sinun pitäisi päästä aloitusnäyttöön sovelluksen käsittelyä varten:

7. Napsauta kohdetta Main. storyboard vedä elementti oikeanpuoleisessa valikossa pääkenttään Label ja lisää siihen tekstiä Hei maailma:

8. Nyt meidän on tehtävä sovellukselle kuvake. Valitsemme kuvan ja lataamme sen osoitteeseen mapappicon.com:

9. Odotamme verkkosovelluksen valmistumista ja ilmoitamme sähköpostiosoitteesi saadaksesi arkiston kuvakkeilla:

10. Palaa XCodeen ja valitse osio vasemmasta valikosta Assets.xassets:

11. Avaa arkisto sähköpostista ja vedä kuvakkeet sieltä XCode-työtilaan:

12. Valitse jokin laitesimulaattoreista, napsauta sovelluksen käynnistyspainiketta (musta kolmio) ja käynnistä se Macissasi. Kehittäjätila:

13. Yritämme aloittaa alusta. Odotamme, että iOS latautuu simulaattoriin:

14. Varmista, että sovellus toimii:

Katsomme valmiin sovelluksen laitteessa

Nyt voit nähdä, kuinka sovellus toimii laitteessa. Ennen kuin seuraat ohjeita, varmista, että sinulla on uusimmat XCode- ja iOS-versiot.

1. Mennään xCode -> Asetukset -> Tilit ja lisää Apple ID:

2. Liitä iOS-laite tietokoneeseen:

3. Valitse haluamasi laite luettelosta ja napsauta käynnistyspainiketta. Odotamme hetken.

4. Jos näyttöön tulee viesti suojausongelmista, siirry iOS-laitteessa kohtaan asetukset -> Perus -> Laitehallinta ja salli kehittäjän sovellusten ajaa Apple ID:lläsi:

5. Siirry työpöydälle ja etsi uuden sovelluksen kuvake:

6. Käynnistä:

7. Irrota laite tietokoneesta. Nyt sovellusta voi käyttää.

Mitä tehdä, jos haluat enemmän?

Tieteellisen pokkauksen ja Googlen avulla voit laajentaa yllä olevaa toimintosarjaa ja luoda toimivamman sovelluksen. Mutta voit käyttää sitä vain omilla laitteillasi.

Loppujen lopuksi Apple asettaa sovelluksille erittäin korkeat vaatimukset. App Storen tarkistusohjeet sisältävät 29 pistettä ja yli sata alapistettä. Jotta sovellus noudattaisi niitä ja hyväksyttäisiin julkaistavaksi myymälässä, kehittäjä vaatii paljon teknistä tietämystä.

Jos haluat luoda korkealaatuisia massakäyttöön tarkoitettuja iOS-sovelluksia,