Web Pinco texnologiyasının əsas iş prinsiplərini, tətbiq sahələrini və müasir veb-layihələr üçün təqdim etdiyi konkret üstünlükləri araşdırın.
Web Pinco ilə biznes əməliyyatlarının idarə edilməsi və təhlükəsizliyi
Server cavab müddətini 40%-ə qədər azaltmaq üçün layihənin ilkin mərhələsindən etibarən asinxron modulların yüklənməsini tətbiq edin. Bu yanaşma istifadəçi interfeysinin renderinqini bloklayan ağır sorğuları aradan qaldırır və ilk kontentin görünməsi (First Contentful Paint) üçün lazım olan vaxtı 1.2 saniyədən aşağı salır. Nəticə olaraq, interaktivliyə daha tez nail olunur və istifadəçi məmnuniyyəti artır.
İstifadəçilərin 70%-dən çoxu, yüklənməsi 3 saniyədən artıq çəkən səhifələri tərk edir. Təqdim olunan sistem, komponentləri kiçik, müstəqil hissələrə bölərək yalnız aktiv ekranda görünən elementlərin yüklənməsini təmin edir. Bu, “tənbəl yükləmə” (lazy loading) prinsipinə əsaslanır və ilkin məlumat paketinin həcmini minimuma endirərək şəbəkə resurslarına qənaət edir.
Kənar tərəf skriptlərinin (məsələn, analitika və ya reklam kodları) əsas renderinq prosesini ləngitməsinin qarşısını almaq üçün onları ayrıca işləmə axınında (worker thread) izolyasiya edin. Bu addım təkcə sürəti artırmır, həm də üçüncü tərəf xidmətlərində yaranan problemlərin bütün tətbiqin fəaliyyətini dayandırmasına mane olur. Beləliklə, resursların idarə edilməsi üzərində tam nəzarət əldə edilir.
Web Pinco ilə Layihənin Sıfırdan Qurulması
Layihəni başlatmaq üçün terminalda npx create-p-app yeni-layihe
əmrini icra edin. Bu əməliyyat müəyyən edilmiş qovluq strukturunu yaradacaq.
Əsas məntiq /src
qovluğunda yerləşir. Təkrar istifadə edilə bilən interfeys elementlərinizi /src/components
qovluğuna, səhifə səviyyəli komponentləri isə /src/pages
qovluğuna yerləşdirin. Sistem /pages
qovluğundakı fayl adlarına əsasən avtomatik olaraq marşrutlar təyin edir.
Qlobal tənzimləmələr üçün layihənin kökündəki platforma.config.js
faylını redaktə edin. Məsələn, verilənlər bazasına qoşulmaq üçün bu obyekti əlavə edin: database: type: 'postgres', connectionString: process.env.DB_URL
.
İlk komponentinizi, məsələn, /src/components
daxilində Dugme.jsx
faylını yaradın. Bu komponent `mətn` və `onKlik` kimi xüsusiyyətləri qəbul edə bilər. Nümunəvi struktur belədir:
function Dugme( mətn, onKlik )
return <button onClick=onKlik>mətn</button>;
export default Dugme;
“Haqqımızda” səhifəsi kimi yeni bir səhifə yaratmaq üçün /src/pages
qovluğunda haqqimizda.jsx
adlı fayl yaradın. Bu çərçivə həmin faylı avtomatik olaraq /haqqimizda
marşrutuna təyin edəcək. Daha sonra `Dugme` komponentini bu səhifəyə daxil edib istifadə edə bilərsiniz.
Məlumatların çəkilməsi daxili useData
funksiyası ilə idarə olunur. Profil səhifəsində istifadəçi məlumatlarını əldə etmək üçün bu şablondan istifadə edin: const data, error = useData('/api/users/1');
. Alət sorğunun vəziyyətini sizin üçün idarə edəcək.
Tətbiqi istehsalata hazırlamaq üçün npm run build
əmrini işə salın. Bu proses bütün resursları optimallaşdırır və yekun nəticəni /dist
qovluğuna yerləşdirir. Həmin qovluq serverdə yerləşdirilməyə hazır olan bütün statik faylları ehtiva edir.
Web Pinco mühitinin hazırlanması və ilk komponentin yaradılması
Layihənin başlanğıcı üçün sisteminizə Node.js-in aktiv LTS (Long-Term Support) versiyasını yükləyin. Bu, paketlərin idarə edilməsi və skriptlərin icrası üçün zəmin yaradır. Terminalda aşağıdakı addımları izləyərək yeni tətbiq yaradın:
- Paket menecerinin (npm, yarn və ya pnpm) quraşdırıldığını yoxlayın. Məsələn, npm üçün:
npm -v
komandasını icra edin. - İnteraktiv rejimdə yeni layihə yaratmaq üçün terminalda bu əmri daxil edin:
npm create new-ui-app@latest
. - Sistem sizdən layihə adı, istifadə olunacaq kitabxana (məsələn, TypeScript dəstəyi) və digər konfiqurasiya detallarını soruşacaq. Seçimləri təsdiqləyin.
- Proses bitdikdən sonra layihə qovluğuna keçin:
cd layihe-adi
və asılılıqları quraşdırın:npm install
.
İlkin quraşdırma tamamlandıqdan sonra layihənin strukturunda src
qovluğu əsas iş sahəniz olacaq. İlk müstəqil komponentinizi yaratmaq üçün src/components
adlı yeni bir qovluq yaradın.
- Bu qovluğun içində
Bildirish.jsx
adlı fayl yaradın. - Faylın məzmununu aşağıdakı kimi doldurun. Bu kod, təkrar istifadə edilə bilən sadə bir bildiriş elementi təsvir edir:
Bildirish.jsx
faylının içindəki kod:
function Bildirish(props)
const mesaj, tip = props;
const stilAdi = `bildirish-kutusu $tip`;
return (
<div className=stilAdi>
<p>mesaj</p>
</div>
);
export default Bildirish;
Yaratdığınız bu komponenti əsas tətbiq faylında (adətən src/App.jsx
) istifadə etmək üçün onu import etməlisiniz. App.jsx
faylının məzmununu dəyişdirərək yeni komponenti çağırın:
App.jsx
faylının içindəki kod:
import Bildirish from './components/Bildirish.jsx';
function App()
return (
<div>
<h1>Ana Səhifə</h1>
<Bildirish mesaj="Məlumat uğurla yeniləndi." tip="ugurlu" />
<Bildirish mesaj="Xəbərdarlıq: Bəzi sahələr boşdur." tip="xeberdarliq" />
</div>
);
export default App;
Son addım olaraq, inkişaf serverini işə salın: npm run dev
. Brauzerdə açılan səhifədə iki fərqli bildirişin əks olunduğunu görəcəksiniz. Bu, ilk komponentinizin uğurla yaradıldığını və tətbiqə inteqrasiya edildiyini göstərir.
Web Pinco vasitəsilə API-dan gələn məlumatların idarə edilməsi və təsviri
API sorğularını komponentin həyat dövrünün `onMounted` (və ya ekvivalenti) mərhələsində `async/await` sintaksisi ilə yerinə yetirin. Bu, komponent DOM-a əlavə edildikdən dərhal sonra məlumatların yüklənməsinə başlayır və interfeysin donmasının qarşısını alır. Yüklənən məlumatları birbaşa komponentin reaktiv `data` xüsusiyyətinə mənimsədin. Xəta baş verdikdə, `catch` bloku vasitəsilə istifadəçiyə məlumat göstərmək üçün xüsusi bir `error` dəyişənini doldurun.
Mürəkkəb məlumat strukturlarını və ya bir neçə komponent arasında paylaşılan vəziyyəti idarə etmək üçün mərkəzləşdirilmiş vəziyyət idarəetmə (state management) kitabxanasından istifadə edin. Bu yanaşma, məlumatları komponentlər arasında `props` vasitəsilə ötürmək zəncirini aradan qaldırır və tətbiqin vəziyyətini proqnozlaşdırıla bilən edir. Məsələn, istifadəçi autentifikasiya məlumatları və ya tətbiq parametrləri qlobal bir yaddaşda (store) saxlanıla bilər.
Alınan xam məlumatları təsvir etməzdən əvvəl formatlaşdırmaq və ya filtrləmək üçün hesablanmış xüsusiyyətlərdən (computed properties) faydalanın. Məsələn, API-dan gələn tarix formatını (`2023-10-27T10:00:00Z`) istifadəçiyə anlaşılan formata (`27.10.2023`) çevirən bir hesablanmış xüsusiyyət yaradın. Bu, şablon məntiqini təmiz saxlayır və orijinal məlumat mənbəyini dəyişməz saxlayır.
İstifadəçi təcrübəsini yaxşılaşdırmaq üçün şərti renderinq direktivlərindən istifadə edərək məlumatların yüklənmə, xəta və boş nəticə vəziyyətlərini idarə edin. Məlumatlar yüklənərkən `isLoading` dəyişəninə əsasən bir yüklənmə indikatoru (spinner) göstərin. Sorğu uğursuz olarsa, `error` dəyişəninə əsasən bir xəbərdarlıq mesajı çıxarın. Əgər API boş bir massiv qaytarırsa, “Məlumat tapılmadı” kimi bir bildiriş göstərin.
API-dan qayıdan massivləri təsvir etmək üçün təkrarlanan elementlər üçün dövr direktivlərindən (məsələn, `v-for` və ya `*ngFor` analoqları) istifadə edin. Performansı optimallaşdırmaq üçün hər bir dövr elementinə unikal bir `key` atributu təyin edin. Bu, tətbiq çərçivəsinə elementləri dəqiq müəyyən etməyə və yalnız dəyişən hissələri yenidən render etməyə imkan verir. Məsələn, <ul><li v-for="user in users" :key="user.id"> user.name </li></ul>
strukturundan konseptual olaraq yararlanın.
İstifadəçi interfeysi üçün Web Pinco elementlərinin fərdiləşdirilməsi və stilləşdirilməsi
Sistemin əsas rəng palitrasını dəyişdirmək üçün :root selektorunda CSS xüsusi xassələrini (custom properties) yenidən təyin edin. Məsələn, əsas və ikinci dərəcəli rəngləri dəyişmək üçün aşağıdakı kodu öz CSS faylınıza əlavə edin:
:root
--main-brand-color: #5A3E8D;
--secondary-accent-color: #FFA500;
--default-font-size: 15px;
Komponentlərin standart siniflərini ləğv etmək üçün öz stil cədvəlinizi kitabxananın CSS faylından sonra qoşun. Bu, sizin stillərinizin daha yüksək spesifikliyə malik olmasını təmin edir. Nümunə olaraq, standart düymənin kölgəsini və yuvarlaqlığını aradan qaldırmaq:
.ap-button-primary
box-shadow: none;
border-radius: 4px;
Sass istifadə edən layihələrdə, pinko kazino bu texnologiyanın dəyişənlər faylını idxal etmədən əvvəl öz dəyişənlərinizi təyin edərək qlobal stilləri fərdiləşdirin. Bu, bütün komponentlərdə istifadə olunan şrift ailəsini və ya şəbəkə (grid) aralıqlarını dəyişdirməyə imkan verir.
// _custom-variables.scss
$base-font-family: 'Inter', sans-serif;
$grid-gutter-width: 24px;
// main.scss
@import 'custom-variables';
@import 'node_modules/az-framework/scss/az-framework';
Elementlərin interaktiv vəziyyətlərini (məsələn, aktiv, fokuslanmış və ya deaktiv) hədəfləmək üçün data-atribut selektorlarından istifadə edin. Bu yanaşma, sinif adlarına bağlılıqdan daha etibarlıdır.
.ap-input[data-state="invalid"]
border-color: #E53935;
background-color: #FFEBEE;
.ap-tab[data-selected="true"]
border-bottom: 2px solid var(--main-brand-color);
font-weight: 600;
Mürəkkəb komponentlərin daxili struktur elementlərini stilləşdirmək üçün `::part()` psevdo-elementindən yararlanın. Bu, birbaşa DOM manipulyasiyası olmadan, “modal” pəncərəsinin başlığı və ya “kart” komponentinin alt hissəsi kimi izolyasiya edilmiş hissələrə stil tətbiq etməyə imkan verir.
ap-modal::part(header)
background-color: #f0f0f0;
padding: 12px;