Java on päris lahe... aga saab ka teisiti
Java on kõikjal meie ümber. Keel, mis loodi üle 25 aasta tagasi kodumasinate tarbeks, on nüüdseks kasvanud ettevõtte selgroosüsteemides üheks populaarseimaks programmeerimiskeeleks oma lihtsasti arusaadava süntaksi, mitmeplatvormilisuse ning objektorienteeritud stiili poolest.
25 aasta jooksul on muidugi väga palju muutunud. Java suur menukus suurkorporatsioonide hulgas on pannud Oracle (Java praegune omanik) keerulisse seisu. Uusi innovaatilisi uuendusi pole Java pikalt enam näinud, kuna ärikliendid ootavad võimalikult stabiilset ja pikalt tagasiulatuvat tuge oma süsteemidele.
Võib isegi öelda, et Java on osaliselt stagneerunud. Samal ajal on uuenduslikumad ja dünaamilisemad keeled palju järgi jõudnud ning võimekuselt on nad Javaga samal pulgal. Siit ka meie postituse kangelane – JavaScript.
JavaScript – Zero to Hero
Kuigi nimeliselt on Java ja JavaScript sarnased, ei ole nad omavahel seotud. JavaScript algas Netscape’i aegadest eesmärgiga muuta veebilehed dünaamilisemaks. Enam ei pidanud muudatuste kuvamiseks lehekülge värskendama, vaid see kõik juhtus kasutajate silme ees.
Ajalukku pikemalt sukeldumata hakkas JavaScript koguma hõõrdejõudu, kui Netscape annetas JavaScripti tehnoloogia ECMA Foundation’ile eesmärgiga võimaldada erinevatel brauseri tootjatel seda omaks võtta ning pakkuda ka oma kasutajatele. Läbi selle sai alguse ka ECMAScript – JavaScripti standardiseeritud alustala.
JavaScript on ajapikku jõudnud brauseritest telefonidesse, desktopile, autodesse ja NodeJS tulekuga ka back-end süsteemidesse. Nüüdseks on JavaScript populaarseim programmeerimiskeel maailmas, mida kasutavad paljud professionaalsed arendajad.
Java ja NodeJS back-endis
Kuna valdavalt kasutatakse Javat ikkagi back-end süsteemides, siis keskendume selles artiklis rohkem just sellele köögipoolele ning käime läbi olulisemad punktid.
Miks eelistada oma järgmises süsteemis JavaScripti ja NodeJS’i?
Kulu
Teadupoolest peab Java arendajaid tikutulega otsima. Olles oskuslikud arendajad leidnud, peab tõdema, et kõikvõimeka keele arendajate oskuspagas ei ole odav. Javale meeldib kasutada suurel hulgal ressursse. Sellest tulenevalt lisab erinevate tehnoloogiate kasutus ning riistvaraliste ressursside vajadus keerukust nii vaimselt kui rahaliselt.
Nagu varasemalt välja tõime, on JavaScript praeguse seisuga kõige populaarsem arenduskeel. See tähendab, et tulenevalt laiast rakendusbaasist on avatud lähtekoodiga JavaScript ja NodeJS arendajaid märgatavalt lihtsam leida.
Lihtsus
NodeJS ja JavaScript vähendavad keerukust, sest kogu tehnoloogiline pinu põhineb ainult ühel programmeerimiskeelel - vähendades ressursi kulu ning võimaldades ajaliselt kiiremini luua suuri terviklahendusi.
Kiirus
Nali-naljaks, arendajad muidugi tahtlikult selliseid vabandusi ei kasuta, kuid kahjuks peab tõdema, et Java kompileerimine võtab omajagu aega. Suuremate ja keerukamate süsteemide puhul (Java eelistamisel arenduskeelena, kuulub siia alla valdav enamus projekte) on keskmine kompileerimistsükkel 5-6 minutit.
Esmapilgul ei tundu 5-6 minutit palju. Arvestades, et projekti võivad paralleelselt täiendada 6 arendajat, kes kõik kompileerivad projekti päevas mitmeid kordi, ulatub projekti tervikkulu aga juba kümnetesse “arendusvabadesse” tundidesse.
JavaScripti mootorid on JIT (Just In Time) kompileerimisloogikaga, kus kood kompileeritakse ja jooksutatakse käivitamise hetkel, mis toimub millisekunditega (tuhandetes kordades kiiremini kui Javas).
NodeJS pole tagasihoidlik ka rakenduse kiirusel. NodeJS’il kulub ühe päringutsükli (alates päringu tegemisest kuni vastuse saamiseni) vähem aega kui Javal, mis võimaldab Node’il sekundis teenindada rohkem päringuid madalama ressursikasutusega.
Ja lõpetuseks - kas Java on arenduskeelena suremas?
Praegu on lihtne vastus “Ei”. Olenevalt maailmavaatest võivad erinevad arendajad antud küsimusele anda väga seinast-seina vastuseid. Lähimateks aastateks on aga kõne- ja arutlusainet kindlasti veel ning Java on ja jääb väga võimsaks arenduskeeleks.
Plusse ja miinuseid on kõikidel keeltel. Erinevalt 25 aasta tagusest ajast oleme praegu aga tarkvaraarenduskeeltega seisus, kus spetsiifiliste probleemide lahendamiseks ei ole trumpkaardid ainult ühe või teise arenduskeele käes.
Java on ajalooliselt mänginud väga suurt rolli laiahaardeliste ja mitmeplatvormiliste süsteemide lahendustes. Praegu ei ole Java enam omasuguste seas ainulaadne ning tulenevalt eelpool mainitud kiiruse, lihtsuse ning kulu argumentidest, on tarkvaraarenduse eelistused liikunud alternatiivsetele keeltele (JavaScript; Python; Golang jpt.)
Kokkuvõtvalt võimaldavad alternatiivsed keeled lahendada kõiki probleeme, milleks on varasemalt pöördutud Java poole. Sisuline otsus tuleb sellegipoolest vastu võtta projekti spetsiifiliselt, kuid kaalukauss nihkub järjest suuremas osas kaasaegsemate keelte poole.
Paar näidet NodeJS baasile arendatud rakendustest:
- Synbase.eu (NodeJS + mikroteenused)
- Avarii.lkf.ee (NodeJS + VUE3). Pikemalt saab antud projekti tegemisest ja väljakutsetest lugeda meie artiklist.
Soovid oma ideid arutada?
Meie poole võib pöörduda igas projekti etapis - alates idee väljatöötamisest kuni uute digilahenduste loomise ja hindamiseni välja.
Võta ühendust
Kirjuta meile oma ideest ja leiame koos parima viisi selle elluviimiseks. Vastame kiiresti ning meie kogenud meeskond tagab, et projekt kulgeb edukalt alates esimesest mõttest kuni lõpliku teostuseni.