• így fejlesztünk napjainkban

Alkalmazásfejlesztés fejlesztői nyelven, fejlesztőknek

Hogyan készül egy alkalmazás, milyen fő lépések/fejezetek vannak a folyamat során, és milyen technológiai környezetben, hogyan zajlik a fejlesztés?

Fejlesztőknek szóló cikkünkből mindez kiderül!

Kiket érdemes bevonni egy alkalmazás fejlesztésbe?

Erre a kérdésre összetett a válasz, hiszen a projekt méretétől és jellegétől sokminden függ. A legtöbb esetben van egy grafikus, aki megtervezi a design-t (UI, vagyis User Interface), a frontend fejlesztő felépíti a felületet a design alapján (természetesen UX gondolkodásmód és megközelítéssel a fejlesztés során), a backend fejlesztő pedig lefejleszti az api-t.

Egy nagyvállalati rendszernél a fő szempont elsősorban a termék használhatósága. Így, amennyiben egy már meglévő design system-ből választ a megrendelő, úgy ez felgyorsítja a projekt ütemét és könnyít a fejlesztő munkáján abból a szempontból, hogy ő egyből bele is vághat a programozásba.

Hogy kiemeljünk egyet, az egyik legnagyobb projektünkben mi az element.io design system-et használjuk, mint például ez itt.

A fejlesztő mellett sok esetben szükség van business analyst bevonására, már a projekt legelején. A business analyst a legnagyobb segítsége tud lenni egy fejlesztőnek, különösen akkor, ha nagyon bonyolult az üzleti logika. A BA feladata, hogy az üzleti igényeket a fejlesztő nyelvére fordítsa át, ő a köztes pont a fejlesztés és az üzleti célok közt. Egy dolgot biztosan állíthatunk, hosszútávon sokkal megtérülőbb és jobb lesz a fejlesztés időben és pénzben, ha nem a fejlesztőnek kell megfejteni az üzleti folyamatokat.

Emellett kulcsszerepe van a projektmenedzsernek, nem szabad kispórolni őt sem, sem megrendelő, sem fejlesztő oldalról a projektből.

Hogyan zajlik a tesztelés?

Amikor elkezdünk egy projektet, akkor először kialakítjuk a fejlesztői környezetet (dev környezetnek hívjuk szakmán belül) és az egész deployment folyamatot (ez pedig olyan események összessége, amelyek a szoftvert eljuttatják oda, hogy használható legyen).

A jelenleg zajló projektjeinkben a fejlesztőkörnyezet docker-ben működik, ami egy konténertechnológia. Ennek köszönhetően az összes fejlesztő gépen ugyanaz a környezet épül fel, s kiküszöbölhetjük a futtatási környezeti különbségekből adódó hibákat.

Szintén konténeralapú rendszerben fut a dev, test (és majd az éles) környezet is. Amikor elkészül egy fejlesztés, akkor az először bekerül a verziókezelő rendszerbe, jelen esetben gitlab-ba (git a verziókezelő technológia, gitlab pedig egy szolgáltatás, ami erre épül).

Felhő alapú vállalati alkalmazásfejlesztés

A gitlab szól a CI (continous integration) rendszernek, hogy van új változtatás, úgyhogy kezdje meg a tesztek lefuttatását. Amikor a tesztek mind lefutottak, akkor a CI automatikusan kiteszi a változtatásokat a dev környezetre.

A dev környezeten ellenőrizzük, hogy minden jól működik-e és ezt követően propagáljuk a változtatásokat a test környezetre.

A test környezeten már az ügyfél is látja a változtatásokat. Ha ő is approválja, akkor mehet tovább az éles környezetre.

A dev, test es éles környezet az AWS (amazon) infrastruktúrájára épülő Heroku-n fut.

Ez azt jelenti, hogy a tesztelés, az agilis módszertannak megfelelően, folyamatosan történik. Amint elkészül egy kis része a fejlesztésnek, az már megy is ki a test környezetre, ahol az ügyfél meg tudja nézni és tud esetleges változtatásokat kérni.

Mivel folyamatos az egyeztetés és az együttműködés, ezért olyan terméket fog kapni az ügyfél, amely teljes mértékben az ő igényeire van szabva. A mostani projektjeinken például minden nap legálabb egy deploy történik (új fejlesztés kerül ki a test környezetre).

Itt még fontos megemlíteni, hogy a 12factor app elvei alapján készül a legtöbb szoftverünk. A 12factor app nem más, mint 12 szoftverfejlesztési alapelv, amit ha folyamatosan követünk – márpedig követjük!-, akkor várhatóan egy minden igényt kielégítő termék fog születni:)

Milyen technológiai környezetben érdemes fejleszteni?

fejlesztés phpban

Erre a kérdésre nehezen adható egyértelmű válasz, mivel kicsit kényes erről beszélni fejlesztők közt. Ennek az az oka, hogy a legtöbb fejlesztő onnan közelíti meg ezt a kérdést, hogy mik a legtrendibb programnyelvek manapság. Sokan azt gondolják, hogy ha valaki elkezd valamit pl. php-ban fejleszteni, akkor ő nem is fejlesztő. Holott ez nem igaz!

Ha kizárólag fejlesztő szemmel nézzük ezt a kérdést, akkor azt mondhatjuk, hogy a Go nyelv nagyon ígéretes, illetve nagyon szépen lehet szoftvert fejleszteni NodeJs-ben vagy Python-ban is.

Viszont nemcsak az a fontos, hogy hipster legyen a programnyelv, amiben készül a termék, hanem az is, hogy

  • nagy tudásbázis legyen a nyelv mögött;
  • lehessen fejlesztőt tálalni később a projektre;
  • legyen kiépített ecosystem a nyelv köré (CI/CD, deployment, testing, frameworks);
  • az ügyfélrészről melyik programnyelvben van tudás

A mostani egyik legnagyobb projektünk backend része PHP-ban íródik és a Laravel framework-öt használjuk hozzá. A frontend pedig VueJS-ben, amihez az element.io design system-et használjuk.

Azért esett a Laravel frameworkre a választás, mert egyrészt hatalmas tapasztalatunk van már benne, másrészt pedig ez egy nagyon jól felépített MVC (Model-View-Controller) szoftver arhitektura framework.

születni:)

Konklúzióként tévútra vinne egy általános érvényű szabály meghatározása arról, hogy a webes vagy a mobil applikáció fejlesztése a jobb választás. A vállalkozásunk helyzetét, céljait és lehetőségeit egyedileg érdemes vizsgálnunk, és ha ezt precízen végrehajtjuk, akkor nyugodtan dönthetünk a következő lépésről.

Közben arról sem szabad elfeledkeznünk, hogy az egyik fejlesztés egyáltalán nem zárja ki a másikat. Sőt, előszeretettel bíztatunk is arra, hogy hosszabb távon a mobilbarát weblap és a saját alkalmazás egyaránt szerepeljenek a fejlesztési listádon, hiszen a két felület egymást erősítve járulhat hozzá a vállalkozás eredményességéhez.

Ha további kérdéseid merültek fel, keress minket bátran, vagy jelentkezz ingyenes konzultációnkra, ahol közösen kitaláljuk, milyen típusú fejlesztés illik leginkább a cégedhez!

A képeket köszönjük a pexels.com fotósainak:

PhotoMIX Ltd.
Igor Starkov