Aplikacione të avancuara interneti (Rich Internet Applications) – 2

Platformat e zhvillimit

*Nëse nuk e keni kaluar pjesën e parë, klikoni këtu  për ta lexuar.

Siç e kemi cekur edhe në pjesën e parë të këtij shkrimi, RIA aplikacionet kanë evoluuar nga dita në ditë, dhe ndryshimet që kanë pësuar kanë ndërruar edhe vetë definicionin e tyre, problematikë të cilën veçse e kemi prekur. Por ajo që do të ishte interesante të shtjellonim (dhe që do ta bëjmë në këtë pjesë) është ajo, se çka duhet të ofroj një platformë zhvillimi apo teknologji zhvillimi që të përmbushë nevojat e zhvilluesve për të vënë në dritë një aplikacion RIA, apo, cilat komponente (minimale) duhet të ofroj teknologjia për zhvilluesit (dhe vetë aplikacionin gjithashtu).

Sketching – Konceptimi

Së pari, si definicion i shkurtër, sketching është ideja e paraqitjes grafike (por pa funksionalizim të plotë) e konceptit për aplikacionin që do të zhvillosh. Si i tillë ky konceptim jep një paraqitje grafike ku edhe klienti edhe zhvilluesi koncentrohet në përmbajtjen e tij dhe jo në dukjen apo funksionalitetin, i cili mund të vlerësohet, përmirësohet, ndryshohet dhe rritet deri në pikën kur ai (aplikacioni i paraqitur në sketching)  të përmbush nevojat. Një RIA platformë zhvillimi moderne do të ishte e mangët pa ofrimin e një vegle apo teknologjie të tillë. Ndoshta shumëkush mund të mos pajtohet me këtë ide, apo të më kundërshtoj me ndonjë kundër-argument si: konceptimi është jashtë zhvillimit, apo të tjera, por duke u bazuar në rrjedhat e sotme të teknologjisë dhe në kërkesat e shumta dhe të shpeshta për ndryshim e kërkesave elementare, një vegël e tillë duket e domosdoshme. E them nga përvoja se (sipas mendimit tim) pjesa më problematike e një aplikacioni nuk janë as zhvilluesit as teknologjia në të cilën ajo zhvillohet (edhe pse, edhe këto e kanë rrolin e tyre të padiskutueshëm), por e ka definimi i qartë i asaj që kërkon klienti dhe artikulimi i saktë i “ëndrrës” së tij. Shpesh, për të mos thënë gjithmonë, këto dy pika nuk përputhen (ideja / kërkesa e klientit dhe aplikacioni i zhvilluar) tamam, gjë që do të duhej.
Një RIA platformë zhvillimi do të duhej të kishte komponentin e sketching, i cili do të duhej të ishte e thjeshtë, i shpejtë për të “zhvilluar” dhe i qasshëm lehtë për klientin apo atë prej të cilit merret feedbacku. Vegla do të duhej të përkrahte edhe punën në grup (duke përfshirë edhe pjesëmarrjen fizike të pjesëtarit të grupit, duke zhvilluar pjesë të caktuara të idesë). Dhe pas përfundimit të konceptimit do të ishte ideale sikur vegla të përkrahë bartjen e plotë të paraqitjes (sketching) në aplikacion real, dhe si e tillë rrjedhimisht ajo duhet të përkrahë zhvillimin e ndërfaqeve (user interfaces) në të njejtën teknologji prezantuese që do të zhvillohet edhe aplikacioni (real). Dhe çka është më së miri për zhvilluesit, se sot të gjitha platformat e zhvillimit për RIA aplikacione e përkrahin ose e kanë një vegël të tillë.

Sketchflow

Sketchflow

Ambienti i zhvillimit (Integrated Development Environment)

Një nga pikat e fuqishme të një platforme zhvillimi në ditët e sotme llogaritet të jetë edhe ambienti ku mund të zhvillohet një RIA aplikacion. IDE (ambient i integruar për zhvillim) mund të jetë një aplikacion i cili siguron gjithë infrastrukturën për zhvillimin e aplikacioneve për programerët, duke përfshirë: editor për shkruarjen e kodit, kompajllues kodi, vegla automatike për ndërtim (automated build), debugger, vegla për punë ekipore dhe ruajtje të centralizuara të kodit (source code controllers) etj. Një nga tiparet e pandashme të IDE-ve sot llogaritet edhe përkrahja për atë që quhet rrugë e shpejtë e zhvillimit (rapid application development), e cila (edhe pse e gjendur në mes kritikash pozitive dhe negative) i ndihmon një platforme padiskutueshëm në popullaritetin e saj. Me anë të përkrahjes për editor që ofrojnë kryerje automatike të një game të gjërë detyrash për zhvilluesin, e që cilësohet si një nga pikat e forta të kësaj praktike, dhe me një kritikë (ndoshta shpeshherë pozitive) që ky koncept i largon programerët nga zhvillimi i mëtejmë profesional dhe fshehë shumë gjëra pa nevojë, rruga e shpejtë e zhvillimit është bërë sot shumë kritike për një ria platformë, pasi që ajo i ndihmon drejtpërdrejtë zhvilluesit të nxjerrë në dritë produktin në kohën dhe kualitetin e caktuar. Ambientet e sotme të zhvillimit janë shumë të gjëra dhe ofrojnë një mori veglash të ndryshme për zhvillim, gjë që është shumë pozitive për profesionistët por njëkohësisht edhe një ngecje jo pak e vogël, për atë që nisin mësimin e këtyre veglave. Si të tilla, këto kanë futur në vete vegla për aplikimin e një serie të gjërë konceptesh që përbëjnë një ria aplikacion, disa nga të cilat janë: përkrahja për zhvillimin e ndërfaqeve (përkatësisht gjuhëve / standardarve për UI) dhe kodit burimor (përkatësisht gjuhëve të ndryshme programuese), përkrahja për arkitektura të ndryshme (architectural patterns), etj, për të cilat do të flasim në pjesët tjera.

*Për të lexuar pjesën e tretë të shkrimit, kliko këtu.

*Artikulli është botuar në CIO Albanian

Advertisements

About betim

An experienced SOA and Mobile software architect with a decade experience in building small-to-medium and large systems for public and private sector.
This entry was posted in Albanian, Publication and tagged , , , , , , . Bookmark the permalink.

4 Responses to Aplikacione të avancuara interneti (Rich Internet Applications) – 2

  1. Pingback: Aplikacione të avancuara interneti (Rich Internet Applications) – 1 | betim drenica's blog

  2. Pingback: Aplikacione të avancuara interneti (Rich Internet Applications) – 3 | betim drenica's blog

  3. oxodesign says:

    Sa shof ti perdor “Microsoft Sketchflow” per konceptimin e ideve tua, ke ndonje rekomandim tjeter, open source ndoshta qe mund te ben te njejten pune?

    • betim says:

      Mmmm është Balsamiq (nuk e di a është open source). Btw do të doja të shihja ndonjë, po pate ndonjë propozim jepe lirisht.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s