Programozás iOS-re - Bevezető

Hobby programozótól hobby programozóknak

A programozást 15 évesen kezdtem el, akkor még számítógép hiányában egy kockás füzetben. A Sinclair ZX 81-et az technika magazinban láttam fényképen és a könyvesboltban árultak egy darab könyvet a "Ismerd meg a BASIC nyelvet" címmel. Minden innen indult és mostanában is minden hobby programozónak valahogy így indul a története.

- Miért gondoltam, hogy kellene indítani egy Youtube csatornát és egy weboldalt, ahol hobby programozók kaphatnak segítséget az induláshoz?

A válasz egyszerű és erről az első Youtube videómban érthető magyarázattal szolgálok talán. Röviden itt annyit, hogy bár a programozás maga nem olyan bonyolult, mint azt sokan képzelik, mégis a mai modern programozási környezetben olyan, úgynevezett framework-ökön, keretrendszereken, keresztül juthatunk el az általunk elképzelt szoftver megoldáshoz, amely framework-ök igen bonyolult feladatokat egy-egy függvénybe sűrítenek, olykor a függvényen belül szerteágazó rendszerré "bonyolítják" a programozó egyszerűnek szánt életét. :)

- Hogy mit is jelent ez? Hogyan nézett ki egy program az ősidőkben?

A nagyon-nagyon ősi kezdetekkor, másként a számítógépek hajnalán a programokat lyukszalagba kódolták, ahol a lyukak az egyes biteknek feleltek meg. Ezekből a bitekből álltak össze az utasítások, adatok, számítások, amiket a számítógép feldolgozott és kinyomtatott.

Egy lépéssel később megszülettek azok a programozási nyelvek, amik tulajdonképpen már framework-nek foghatók fel, mivel egy-egy ilyen programnyelvi utasítás már utalt arra, hogy a számítógép mit kezd majd az adott bevitt sorral. A programozási nyelvek megszületésével, illetve a személyi számítógépek elérhetővé válásával a programozás folyamata felgyorsult és a programozás nem csak a kutatóintézetek, tervező- és gyártó vállalatokon belül működhetett.

- Hogy mennyire volt egyszerű a programozás? Itt egy egyszerű példa rá a nyolcvanas évek stílusában, Commodore 64 számítógépre, ami az első igazán nagy számban elterjedt személyi számítógép volt. Mai szemmel, amikor egy mobiltelefonban több memória és több százszor erősebb és gyorsabb processzor van, ez a technika már több mint elavult, de a programozás alapjainak elsajátításához még mindig használható lenne. Lássuk a példát:

- Mit is akartunk itt? Először is szerettük volna ha a program megkapja a felhasználó nevét, majd azt kiírja.

- Mit kellett ehhez tennünk?

  1. Ki kellett írnunk a képernyőre, milyen információt szeretnénk megkapni.

    10 Print "NEVED";

  2. Be kellett olvassuk az információt a billentyűzetrűl és azt egy változóba elmenteni a program számára.

    20 Input NEV$

  3. Ki kellett írjuk a képernyőre a kapott információt:

    30 Print "A NEVED:";NEV$

Ezután futtava a programot, pontosan az történik, amit szerettünk volna. Hát ilyen egyszerű a programozás. Legalábbis ilyen volt durván harminc éve.

Ennyit a múltról. Lehetne ezer hasonló példát hozni, de akkor nem azzal foglalkoznánk, amit a fenti címben jeleztem.

Tehát térjünk át a lassan az iOS programozásra, mégpedig SWIFT nyelven. És ezzel elérkeztünk oda, amiért ez a weboldal elindult. Kezdjük azzal, hogy mi kell ahhoz, hogy valaki az iOS programozásába kezdhessen.

  1. Először is kell egy nagyfokú türelem:

    - Hogy miért? Ahogy a bevezető elején jeleztem a mai programozáshoz nem egyszerűen egy proramozási nyelvet kell megtanulni, mint mondjuk a Commodore basic nyelve volt, ahol megismerted a 40-50 utasítást és a hozzájuk tartozó szintaktikát. pl. Szöveges változó neve mögött $ jel. Hanem meg kell ismerned azt a logikát is, amivel az adott framework-öt létrehozták, amivel megkönnyítik és felgyorsítják a programozók munkáját, kivéve a kezükből azokat a rutin feladatokat, amiknek az újraprogramozása roppant időigényes lenne. Azonban ezek a framework-ök sem adnak megoldást mindenre, vagy ha szinte mindent meg lehet oldani velük, akkor azt vagy az egyes eljárások/függvények paraméterezésével lehet, vagy kisebb kiegészítő függvények hozzáfűzésével, stb.... A framework-ök használata alapvetően jó dolog, de épp amiatt, mert helyettünk programoztak le egy csomó szuper dolgot, ezért nem látható át teljesen a működésük. Ahhoz hogy a programozó elérje a célját a program írása során, sokszor találkozik a framework-ökbe kódolt "falakkal", furcsaságokkal, amik nem mindig találkoznak az adott elképzeléssel a saját programunk működése kapcsán. No, ilyenkor kell a türelem.

  2. Némi angol tudás:

    Maga az iOS keretrendszer, illetve a SWIFT programozási nyelv dokumentációja angol nyelven érhető el. A leírás maga nem túl bonyolult sok esetben, illetve a példákat olvasva alapvetően világos lehet, hogy miről is van szó az adott témában, de azért mégiscsak jobb néha a részletes leírást elolvasni és megérteni. Bár sokszor ettől sem leszünk okosabbak, vagy nem kapunk választ a kérdéseinkre.

    Ezek mellett sok olyan portál található, amit érdemes látogatni, ha egyes pontokon elakadunk, mert a hivatalos dokumentáció sokszor csak egy-egy framework funkciót ír le, de nem részletezi azok kölcsönhatását, vagy együttműködését. Az adott portálokon a programozók leírják a problémáikat, ami adott esetben épp ugyanaz lehet, amibe épp beleütköztünk és ha szerencsénk van, már megtalálható a megoldás is. Ha nem, akkor sajnos jöhet a következő szükséges dolog.

  3. Rengeteg próbálkozásra:

    Sokszor nem elég elolvasni valamit. Ki kell próbálni a gyakorlatban, hogyan működik, mi változik, ha egy paramétert átírunk.

  4. Számítógép, természetesen:

    Mivel itt most iOS-ről beszélünk, a számítógépnek valamilyen Mac-nek kell lennie. Persze lehet próbálkozni Windows-on is, illetve vannak online elérhető Mac gépek, de ezek használata mind plusz bonyolultságot visz a dologba, mind a programozás, mind a tesztelés során.

  5. iPhone vagy iPad:

    Ha csak kísérletezünk, akkor nem kell fizikailag kezünkben legyen egy iPhone vagy iPad, azonban a virtuális eszközökön való tesztelés bonyolultabb programok esetén nemhogy nehézkes a virtuális telefonon, hanem lehetetlenné is válhat, ha olyan funkciókat szeretnénk kipróbálni, amit a virtuális eszköz vagy nem tud, vagy biztonsági okokból nem engedélyezett. pl. Online fizetés funkció.

  6. Valamilyen grafikus program:

    Ez sem szükséges a kezdetekkor, de ha komolyan gondoljuk a programozás, netalán még szeretnénk is programunkat az Appstore-ban látni, akkor meg kell feleljünk egy csomó szabálynak, amihez már kellenek a grafikus elemek. Ikonok, kezdő képernyők, gombok, képek, stb...

  7. És ha már tényleg komolyan gondoljuk, akkor kell egy fejlesztői account, amiért ugyan fizetni kell, de egy jól eltalált programmal bőven visszakaphatjuk a befektetett összeget.

Hát nagyjából talán ennyi kell. A többit pedig folytassuk a videó anyagokon és példa programokon.