RADE – Platforme e pasur per zhvillimin e shpejte te aplikacioneve web
RADE
Zhvillimet e shpejta ne rritjen e parametrave te teknologjise hardware dhe ne internet duke filluar nga njesite desktop deri tek pajisjet mobile kane sjelle nje kerkese te larte per aplikacione te pasura ne web. Ndryshimi i shpejt i kalimit nga aplikacionet tradicionale te perdorura ne desktop, ne nevojat e perdorimit te tyre ne web ka krijuar nje boshllek te madh. Mungesa e infrastruktures se teknologjive per realizimin e aplikacioneve per web ka sjelle nevojen e nderhyrjes duke nxitur shume aktore ne krijimin e framework-eve dhe shtesave-pershtatese per anashkalimin e te metave te mbartura nga HTML dhe JavaScript. Ne keto kushte, lindi nevoja per dicka te re e moderne qe sjell eksperience te njejte me programet ne desktop. RIA (Rich Internet Applications – Aplikacione te Pasura ne Web) ka sjelle nje risi ne kete aspekt dhe ploteson ate boshllek te krijuar. Mbetet akoma problemi i ndarjes se dy boteve. Nga njera ane jane HTML dhe JavaScript qe interpretohen ne kohe reale dhe jane lehtesisht te integrueshme me gjuhet sever-side, ndersa nga ana tjeter metoda e re RIA e cila eshte komplet bote me vete dhe ka menyre tjeter pune. Ne menyre qe te kemi te mirat e te dyja boteve ne nje ambjent te vetem ne kemi krijuar nje framework qe mundeson pikerisht kete. Zgjidhja qe ne ofrojme perpiqet te lehtesoje dhe pershpejtoje menyren e punes, duke mundesuar njekohesisht fuqine dhe avantazhet e RIAs. Framework-u qe ne kemi ndertuar, pervec infrastructures dhe praktikave te gatshme qe ofron, eshte i konceptuar edhe si nje gjuhe programimi e cila ka nderfaqen, librarite dhe sintaksen e vete specifike te kodimit.
Teknologjia per programimin e aplikacioneve si ne desktop ashtu edhe per web ka evoluar dhe eshte permiresuar gjithnje. Teknologjia per desktop eshte e qendrueshme dhe me rritjen e kapaciteteve hardware-ike, kriteret e detyrueshme te sistemit jane bere te paperfillshme. Nga ana tjeter teknologjia per web edhe pse ka patur zvillimet e veta vazhdon te trashegoje problemet e vjetra dhe ka ngelur prapa. Kerkesa per aplikacione ne web eshte gjithnje ne rritje te vazhdueshme. Aq me shume eshte ne rritje zevendesimi i programeve desktop dhe kalimi i tyre ne aplikacione per web.
Gjuhet e programimit masivisht te perdorura per web akoma edhe sot mbeten HTML dhe JavaScript te cilat qe nga fillimet e veta e deri me sot vazhdojne te mbartin te njejtat dobesi si:
- Interpretimi i ndryshem ne shfletues te ndryshem
- Mungesa e struktures ne gjuhe dhe veshtiresia per tu zgjeruar
- Mirembajtja e vazhdueshme per cdo version te shfletuesve
- etj.
Me bumin e perdorimit te internetit nga sektori i biznesit dhe kerkesat gjithnje ne rritje per aplikacione qe lehtesojne proceset e perditshme, ka lindur nevoja per te krijuar shume framework per HTML dhe JavaScript per te tejkaluar veshtiresite e permenduara me siper. Keto framework jane perpjekur gjithnje te minimizojne keto te meta qe ta bejne procesin e programimit ne web te ngjashem me ate per dekstop. Gjithashtu ato mundohen ti bejne keto gjuhe te ngjasojne nga perparesite me gjuhet e tjera te programimit, te mirestrukturuara, qe perdoren per aplikacionet ne desktop. Pas shume perpjekjesh me framework te ndryshem akoma nuk kishim dicka te mire per te arritur uniformitetin dhe lehtesine qe te ofrojne gjuhet e mirefillta te programimit qe perdoren per te realizuar sisteme te medha.
Si pasoje pati nje levizje te fuqishme ne zhvillimin e tekonologjive RIA (Rich Internet Applications – Aplikacione te Pasura ne Web) te cilat mundesojne, ne web, pothuajse te gjitha avantazhet, fuqine dhe lehtesite qe ofrojne teknologjite e perdorura per desktop. Ne krye te RIAs vazhdon te udheheqe Apache Flex me gjuhe programimi ActionScript e percjelle ne cdo browser nga makina virtuale Flash Player. ActionScript eshte nje gjuhe e maturuar qe zbaton standartet me moderne te vendosura nga ECMA Script (nga e cila derivon edhe JavaScript) dhe ofron nje menyre pune te mirestrukturuar ashtu si gjuhet e tjera per desktop. Nga ana tjeter fuqia e vertet e gjuhes shpaloset nepermejet Flash Player i cili ofron nje ambjent shume te qendrueshem cross-platform dhe cross-browser. Outputi perfundimtar qe nxjerr Apache Flex eshte i jashtezakonshem por krahasuar me HTML dhe JavaScript ka disavantazhet e veta. Nje nga dobesite e Apache Flex eshte fakti qe per cdo ndryshim, sado te vogel, duhet te kompilohet i gjithe aplikacioni dhe kjo konsumon kohe dhe nuk eshte praktike e mire pune. Gjithashtu aplikacionet e ndertuar me Apache Flex jane te pa-integruara me gjuhe programimi per server, nderkohe qe ne HTML dhe JavaScript kjo mundesi ekziston. Pervec avantazheve qe ka secila metode mbi tjetren, te dyja teknologjite jane te varfera ne komponentet e avancuar qe ofrojne. Fakti qe aplikacionet e biznesit kerkojne shume nderfaqe per hyrjen e te dhenave apo shfaqjen e informacionit, kerkon qe te kodohen komponente shume te ngjashem here pas here te cilat po ashtu konsumojne shume kohe dhe kjo e forcon akoma me shume nevojen per dicka me te mire.
Duke bere nje permbledhje te asaj cfare u tha me lart, ne perballemi me dy bote, ne prapaskene shume te ndryshme, qe mundohen te arrijne nje rezultat te ngjashem, por me menyra krejt te ndryshme. Si zgjidhje e afrimit te ketyre dy boteve ne prezantojme RADE (Rapid Application Development Evolved – Platforme e Permiresuar Per Zhvillimin e Shpejt te Aplikacioneve), platforma qe ne kemi krijuar. Zgjidhja jone perpiqet te unifikoje avantazhet e te dyja boteve ne nje platforme te vetme duke u bazuar ne mundesite dhe nderfaqet mahnitese qe ofron tekonologjia Flash. Perparesite dhe kerkesat qe platforma jone ploteson jane:
1- Nderfaqe web e njejte ne cdo shfletues interneti
2- Shmangia e procesit te kompilimit paraprak
3- Gjuhe programimi me sintax te thjesht te ngjashme me javascript
4- Shpejtesi me e madhe ne ndertimin e aplikacioneve te biznesit
5- Ofron komponente te gatshme per te ndihmuar programimin e shpejt
6- Nevoja minimale stilimi grafik per aplikacione biznesi
7- E zgjerueshme dhe e pershtatshme per nderfaqe intuitive dhe mahnitese
8- Lidhja me gjuhe programimi ne pjesen server si PHP, ASP, JSP etj…
9- E vogel ne madhesi per te konsumuar sa me pak bandwidth interneti
10- Perdorimi i kapaciteteve te shfletuesve te internetit ne nje nivel me te larte se gjuhet standarte
11- Mundeson aktivitete si “videoconference”, “screensharing”, lidhje “peer-to-peer” te cilat rritin bashkepunimin ne kolektiv
12- Vete-gjenerim i kodit duke u bazuar nga tabelat qe ndodhen ne bazen e te dhenave dhe anasjellatas
13- E thjesht qe te mesohet nga te gjithe ata qe kane njohuri minimale te programimit ne web
14- E shkurton kohen e programimit me 30% – 50%
Eksperienca shumevjecare e secilit pjesetar me teknologji te ndryshme solli nje liste deshirash dhe sugjerimesh per te na lehtesuar zhvillimin e aplikacioneve. Pike se pari nevojitej nje teknologji e avancuar qe i perballon kerkesat dhe fleksibilitetin e tregut. Se dyti kjo platforme duhet te jete e lehte per programuesit ne menyre qe te kurseje kohen e zhvillimit, duke ulur kostot. Se fundmi duhet ti rezistoje kohes dhe te jete lehtesisht e zgjerueshme. Pra duke patur pikesynime te qarta vendosem te ndertonim kete platforme qe zgjidh problemet tona te perditshme duke revolucionalizuar menyren e zhvillimit te programeve per web.
Platforma RADE eshte bazuar ne teknologjine FLASH dhe percakton nje sere komponentesh per te krijuar nderfaqe perdorimi moderne dhe sa me interaktive por gjithashtu edhe nje gjuhe programimi “Tag based” e cila mundeson aksesimin e komponenteve dhe modifikimin e pamjes se tyre ne varesi te nderveprimit te perdoruesve.
Komponentet GUI mund te ndertohen dhe stilohen me ane te “Tag”-eve XML te percaktuara por gjithashtu edhe ne menyre dinamike me ane te pjeseve te kodit te cilat nderfuten ne “Tag”-et <script> njesoj si ne HTML. Keto pjese kodi i permbahen sintakses te ECMA Script 4 – e thene me thjesht: Javascript me klasa te mirefillta dhe hapesira emerimi (namespaces). Ky skript interpretohet dhe kompilohet ne moment sipas teknikes JIT (just-in-time) e cila kryen optimizime te kodit para se ai te ekzekutohet. Intepretimi ne kohe reale mundeson integrimin me gjuhe programimi server-side sipas deshires se programuesit psh: PHP, ASP.NET, JSP.
Pra RADE eshte me teper se nje gjuhe programimi pasi pervecse ofron komponente te avancuara dhe sintakse intuitive, inkurajon dhe mbeshtet programuesit te perdorin teknikat me te fundit ne fushen e programimit ne web, duke i bere me efektiv dhe eficient ne punen e tyre dhe duke i lejuar ata te perqendrohen ne llogjiken e biznesit.