II INTERNATIONAL SCIENTIFIC CONFERENCE OF YOUNG RESEARCHERS
571
Qafqaz University
18-19 April 2014, Baku, Azerbaijan
Javadan fərqli olaraq Scala-da avtomatik şəkildə tiplərin tanınması (local type inference) , tipi məlum olan tiplərə
uyğun olmayan qiymətlər mənimsəndikdə meydana gələn yeni tipin susma vəziyyətini təyin etmə (implicit conversions),
müxtəlif tiplərin birləşdirilməsi (multiple assignments) imkanları vardır.
Scala-da, nəhayət, bir çox proqramçıların marağında olduğu və gözlədiyi yenilik vardır. Bu “closure”-dır. “Closure” –
funksiyanın qiymətinin həmin funksiyanın elan olunduğu class-dan kənar class-larda elan olunan dəyişənlərin qiymətindən
asılı olmasıdır.
Bundan başqa Scala-da XML kodlarını birbaşa Scala əmrləri ilə bir yerdə istifadə etmək mümkündür.
Scala üçün istifadə olunan veb-freymvork Lift-dir və inkişafına görə bir çox veb-freymvorkları geridə qoymuşdur. Lift
veb-freymvorku ilk dəfə 2009-cu ildə David Pollak tərəfindən yaradılmışdır. Lift veb-tətbiqlərin yaradılması üçün nəzərdə
tutulur. Əlbəttə ,buradakı bir çox metodlar 10 il ərzində əldə olunanlara əsaslanır. Bu freymvorkda MVC komponentlər sərt
şəkildə paylanmışdır. Burada hər bir forma unikal nişana malik olduğuna görə eyni informasiyanı təkrarən göndərmək və ya
eyni səhifəyə qayıtmaq mümkün deyil. Scala özündə birbaşa XML-i istifadə edə bildiyinə görə, əlavə ayrı-ayrı JSP-lərə
ehtiyac qalmır. Hər şey birbaşa kodda yazılmağına baxmayaraq ,görüntü (view) tətbiqin strukturundan (controller və model)
ayrılmışdır.
Lift-in əsasını, sözsüz ki, Scala təşkil edir. Bu isə öz növbəsində JVM ilə işləmək və Java-nın kitabxanaları ilə tam
inteqrasiya deməkdir. Lift-in şablonlarında birbaşa kodların içində həm XML, həm də HTML generasiya etmək
mümkündür. Burada Simple Build Tool və Jrebel komponentlərinin köməyilə dəyişikliklərin edilməsi və brauzerdə
yenilənməsi müddəti bir neçə saniyə azaldılır. Liftdə qurulan ilk sayt olan foursquare.com-un müəllifi Rasmus Lerdorford-
un iddiasına görə Lift avtomatik olaraq qurulan saytın 10 ən zəif nöqtələrdən 6-nı qorumağı təmin edir.Bu isə Liftdə statik
tipləşdirmə və funksional proqramlaşdırmadan məharətlə istifadə olunması sayəsində mümkün olur.
Lift-də digər veb-freymvorklardan fərqli olaraq bəzi proseslər daha əlverişli şəkildə təşkil olunmuşdur. Bu proseslərdən
biri təxirə salına bilən yüklənmədir. Səhifə yüklənən zaman əvvəlcə tez generasiya olunan hissələr, sonra isə gec generasiya
olunan hissələr hazır olur. Sonrakı proses səhifələrin paralel generasiyasıdır. Bu zaman mövcud səhifənin bəzi hissələri
qeyd edilərək onların paralel generasiyası üçün ayrıca axın yaradılır.
Lift-də əlaqələndirilmiş ajax komponentlərdən (wiring) istifadə olunur. Səhifədə bir neçə ajax komponentləri
əlaqələndirilərək lazım olan anda yenilənərək istifadəyə hazır vəziyyətə gətirilir.
Scala-da çoxsəhifəli formalar (wizard) Jboss Seam-dən fərqli olaraq daha rahat şəkildə təşkil olunmuşdur. Bu
formalarda geriyə qayıtma imkanı (Back düyməsi) vardır və Ajax-ın köməyilə və yaxud çoxsəhifəli şəkildə işə salınırlar.
Scala-nı http://www.scala-lang.org/downloads ünvanından, Lift-i isə http://liftweb.net/download ünvanından endirmək
mümkündür. Bu dilin İntelliJ, Eclipse və NetBeans kimi İDE-lərdə plaqinləri də mövcuddur.
Beləliklə, Scala-da proqramlaşdırma həm fərqli, həm də asandır. Asanlığı ondan ibarətdir ki, proqramçı öyrəşdiyi və
uzun müddət işlətdiyi Java obyektlərindən istifadə edir. Lakin fərqlilik Scala-da funksional proqramlaşdırmanın tətbiq
olunması və bu məqsədlə yazılacaq proqramın məntiqi cəhətdən bir neçə hissələrə dekompozisiyasıdır.
Dostları ilə paylaş: |