Yeni Jurnalist

Veb applikasiyası hazırlamağın server tərəfi

Həbib Məmmədov

Vebsayt yaratmağın əsas məqsədi informasiya sahibi ilə izləyici arasında kommunikasiya yaratmaqdır. Bu kommunikasiyanın təməlində istək və cavab durur: izləyici hansısa düyməni basır, deməli, nəsə istəyir və vebsayt buna uyğun olaraq cavab verir.

İstənilən dinamik vebsayt aplikasiyasının serveri olmalıdır ki, istifadəçiyə düzgün cavab versin. Sayt yaradıcıları buna arxa tərəf (backend) deyirlər. İstifadəçinin əli çatmayan arxa tərəf əsas prosessorun və ya proqram təminatı sisteminin adından xüsusi funksiyaları yerinə yetirir.

Tutalım, rəngli qələmlər haqda informasiyanı saxlamaq üçün bəzi HTML nişanlarımız  (markup) var. Bunlar qələmin müxtəlif rəngləri haqda informasiyanı saxlayır. Fərz edək, istifadəçi qırmızı rəngli qələm haqda  daha çox bilmək istəyir. Həmin məlumatı istifadəçiyə ötürə bilmək üçün onu serverdə saxlamaq və istifadəçinin sorğusuna uyğun işləmək lazımdır.

Məlumatı saxlamaq və onu istifadəçiyə ötürmək prosesinin bir çox aspektləri var. Bu məqalənin məqsədi də həmin prosesin server tərəfi haqda danışmaqdır. Vəzifəmiz istifadəçidən sorğunu alıb serverə ötürməkdir. Bu vəzifənin öhdəsindən gəlmək üçün bir neçə texnologiya var. Onlardan bəziləri:

  1. PHP
  2. JS
  3. Ruby
  4. Python

Həmin texnologiyalardan istifadə etmək üçün biz hər birinin təməlini öyrənməliyik. Sorğu-cavab arxitekturası əsasında işləyən dinamik applikasiyaların arxa tərəfi (backend) başqa sözlə, skript tərəfi API-lərdən (application programming interface – applikasiya proqramlaşdırma interfeysi), databazalardan, dəstlərdən (framework), xidmət işçilərindən (service workers — brauzerlə veb aplikasiyası arasında proksi server) və əməliyyat sistemindən ibarətdir.

Arxa tərəfdə dəstin (framework), yəni standartlaşmış kodlardan ibarət fayl və qovluq strukturlarının vacibliyini nəzərə alsaq, aydın olar ki, sayt qurucusu (developer) müxtəlif dəstlər arasında seçim eləməlidir. GitHub və bənzər platformaların bir neçə dəsti var ki, bu, arxa tərəfin quruculuğuna yardəm edir.

Növbəti siyahıda daha məşhur arxa tərəf çərçivələrini təqdim edəcəm.

PHP texnologiyası

PHP yəqin ki, vebsaytlar üçün ən məşhur skript dilidir. O, onilliklərdir ayaqdadır və sərəncamında xeyli əhəmiyyətli arxa tərəf çərçivəsi var.

PHP əsaslı çərçivələr

1) Symfony

Symfony bir-biri ilə harmoniyada olan PHP komponentləri dəstindən, veb aplikasiyaları dəstindən, prinsiplərdən,  icmadan ibarətdir. Symfony standart təməldir. Onun üzərində sayt qurucuları güclü PHP aplikasiyaları qura bilirlər, onu Syphony komponentləri ilə gücləndirə bilirlər.

Bu dəstin fəal yaradıcılar icması və könüllüləri var. Onlar şəbəkəni saxlayır və öz töhfələri ilə gücləndirirlər. Dəstlərin nizamlanmış arxitekturası  bütün kənar mənbələrin qoşulması və işləməsinə imkan verir. Son versiya – Symfony 4  bir çox asılılıqları aradan qaldırır və indiyəcən olan versiyalardan ən yüngülüdür.

  • Quraşdırılma sayı: 28 701 006
  • Asılılar: 4 159
  • Təklif edənlər: 29
  • Reytinq: 16 490
  • İzləyənlər: 1 265
  • Şaxələr: 5 982
  • Açıq qalmış məsələlər: 852

2) Laravel

Laravel  istehsal prosesini sadələşdirən və veb aplikasiyalarının bir çox ağır işlərini aradan qaldıran  dəstdir. O, kimliyin təsdiqi, yönləndirmə, qablaşdırma və növbələmə kimi vəzifələri aydın PHP kodu ilə sadələşdirməsiylə məşhurdur.

Laravelin databaza sorğuları ilə işləməyin öhdəsindən gələn xüsusi miqrasiya sistemi var. Bu dəst mürəkkəb arxa tərəf tələbatlarını ödəmək üçün kiçik və böyük aplikasiyalar yaratmağa əverişlidir.

  • Quraşdırılma sayı: 6 901 043
  • Asılılar: 416
  • Təklif edənlər: 4
  • Reytinq: 38 490
  • İzləyənlər: 4 314
  • Şaxələr: 12 454

3) Zend

Zend biznes səviyyəsində geniş aplikasiyalar, məsələn, CRM (Customer Relationship Management – Mütşəri Əlaqələrinin İdarəiçiliyi) və maliyyə sistemləri qurmaq üçün məşhur bir seçimdir. Qurucular yüksək nəticələr göstərən  MVC (Model View Controller – Model Görsəniş Nəzarətçi) arxitekturasından, güclü kod bazasından və genişləndirilə bilən komponentlərdən faydalanırlar.

Zend  OOP konsepsiyasını (Object Oriented Programming — Obyektə Yönəlmiş Proqramlaşdırma) tam dəstəkləyir və qurucular lazım gəldikcə təsnifatlar yarada bilirlər. Symfony kimi Zendin də proyektlərin hər tələbinə cavab verən çoxlu komponentləri var.

  • Quraşdırlma sayı: 3 928 024
  • Asılılar: 1 474
  • Təklif edənlər: 9
  • Reytinq: 5 596
  • İzləyənlər: 590
  • Şaxə: 3 029
  • Açıq qalmış məsələlər: 25

Node.js texnologiyası

Node.js — Chrome V8 JavaScript mühərriki əsasında qurulmuş JavaScript icraçısıdır. O, yeri düşəndə hərəkətə gələn, blok eləməyən I/O modeli əsasında işləyir ki, bu da arxa tərəf aplikasiyaları üçün yüngül və səmərəli platforma verir. Ekosistem paketi npm mövcud açıq mənbə standart moduları (library) arasında ən genişidir.

PHP-nin bəzi məhdudiyyətləri (məsələn, sinxronizasiya prosesində) olduğuna görə,  Node.js onun bazardakı payını sürətlə ələ keçirməkdədir. Üstəlik Node icması tez-tez yeni alətlər, komponentlər, standart modullar əlavə eləməsi ilə məşhurdur ki, bu da həmin platformanı arxa tərəf quruculuğu bazarında rəqabətədavamlı edir.

Node.js əsaslı çərçivələr

1) Ruby On Rails Technology

Rails server tərəfi  üçün Ruby-də yazılmış MVC aplikasiya dəstidir. O, veb xidmətləri və veb səhifələri üçün ilkin databaza strukturunu verir. Data transferinin öhdəsindən JSON and XML  gəlir, ön tərəf səhifələri isə HTML, CSS və JavaScriptlə idarə olunur. Ruby on Rails kəsintisiz databaza cədvəlləri yaratmaq, miqraisya eləmək imkanı yaradır ki, bu da aplikasiyaların sürətlə qurulmasına yardım edir.

2) Python Technology

Python proqramlaşdırmanın ümumi məqsədləri üçün yaradılmış yüksək səviyyəli dil kimi də başa düşülə bilər. Bu dil data bilimləri proyektləri və maşın öyrənməsi  aplikasiyaları üçün məşhur dildir.  Onun gözəl sintaksisi quruculara imkan verir ki, az kod sətirləri ilə çox şeylər ifadə eləsinlər.

Stack Overflow saytının qurucular arasında apardığı sorğuya görə, Python-un reytinqi sürətlə irəliləyir və artıq o, PHP-dən daha məşhurdur. Proqram təminatı qurucuları Pyton-dan istifadə eədərək mürəkkəb data sistemlərini analiz edə və qura bilirlər.  Üstəlik, Python-a əsaslanan  Django və Flask kimi dəstlər veb aplikasiyaları qurma prosesini axara salır.

Sərlövhədəki foto: Koos van den Hout / Flickr

Paylaş