Əsas məzmuna keçid
SaytPro
Bizə yazın

Texnologiyalar

TypeScript

TypeScript: Microsoft tərəfindən 2012-ci ildə yaradılmış, JavaScript-i statik tiplərlə genişləndirən açıq mənbəli proqramlaşdırma dilidir. Kod brauzerdə işləməzdən əvvəl adi JavaScript-ə çevrilir.

YaradıcıMicrosoft
İlk buraxılış2012
LisenziyaApache-2.0
Proqramlaşdırma dili

TypeScript nədir?

TypeScript JavaScript-in üst çoxluğudur (superset): yəni hər bir düzgün JavaScript kodu eyni zamanda TypeScript kodudur. Onu 2012-ci ildə Microsoft yaradıb və Apache-2.0 lisenziyası ilə açıq mənbə kimi inkişaf etdirir. Dilin əsas əlavəsi statik tip sistemidir: dəyişənlərin, funksiya parametrlərinin və obyektlərin hansı növ məlumat daşıdığı kodda əvvəlcədən qeyd olunur.

Brauzerlər TypeScript-i birbaşa başa düşmür: kod əvvəlcə kompilyator (kodu başqa dilə çevirən proqram) vasitəsilə adi JavaScript-ə çevrilir. Bu çevrilmə zamanı bütün tiplər yoxlanılır və uyğunsuzluqlar dərhal xəta kimi göstərilir. Nəticədə bir çox problem sayt istifadəçiyə çatmazdan xeyli əvvəl, hələ kod yazılarkən tutulur.

Böyük kod bazalarında TypeScript faktiki standarta çevrilib: Angular kimi freymvorklar onunla yazılıb, React, Vue və Next.js isə onu tam səviyyədə dəstəkləyir. Tiplər kodun canlı sənədləşməsi rolunu oynayır: layihəyə yeni qoşulan proqramçı hər funksiyanın nə qəbul edib nə qaytardığını dərhal görür. Redaktorların avtomatik tamamlama və təhlükəsiz refaktorinq (kodu pozmadan yenidən qurma) imkanları da tiplər sayəsində xeyli güclənir.

Biznes baxımından nəticə sadədir: daha az bug, daha proqnozlaşdırıla bilən inkişaf prosesi və uzunmüddətli baxım xərclərinin azalması. Sayt böyüdükcə yeni funksiyalar mövcud hissələri gizlicə pozmadan əlavə olunur. Buna görə də peşəkar veb studiyaların əksəriyyəti yeni layihələrə məhz TypeScript ilə başlayır.

Biznesiniz üçün nə deməkdir?

Sifariş etdiyiniz sayt TypeScript ilə yazılıbsa, potensial xətaların böyük hissəsi kod istifadəçilərə çatmazdan əvvəl tutulur. Bu, daha stabil sayt, daha az təcili düzəliş və gələcək yeniliklərin daha ucuz başa gəlməsi deməkdir.

SaytPro bundan necə istifadə edir?

SaytPro bütün frontend işlərini, Next.js və React üzərində qurulan saytları və xüsusi admin panelləri, TypeScript ilə yazır. Python/Django backend API-dən gələn məlumatlar üçün tip təsvirləri yaradılır ki, frontend ilə backend arasındakı uyğunsuzluqlar canlı saytda yox, hələ inkişaf mərhələsində üzə çıxsın.

Tez-tez verilən suallar

TypeScript: Microsoft-un 2012-ci ildə yaratdığı, JavaScript-in üzərinə statik tiplər əlavə edən açıq mənbəli proqramlaşdırma dilidir. Veb saytların və veb tətbiqlərin kodunu daha etibarlı yazmaq üçün istifadə olunur. Yazılan kod sonda adi JavaScript-ə çevrilir və istənilən brauzerdə işləyir.

Əsas fərq tip sistemidir: JavaScript-də dəyişənin növü yalnız kod işləyəndə bilinir, TypeScript-də isə əvvəlcədən yazılır və kod işə salınmamış yoxlanılır. Bu, «mətn gözlənilirdi, rəqəm gəldi» tipli xətaları hələ kod yazılarkən tutmağa imkan verir. Qalan hər şey eynidir: TypeScript JavaScript-in üst çoxluğudur, yəni mövcud JavaScript kodu TypeScript faylında da keçərlidir.

Bir neçə səhifəlik kiçik sayt və ya qısamüddətli prototip üçün adi JavaScript kifayətdir. Amma layihə böyüyəcəksə, komanda ilə işlənəcəksə və ya uzun illər saxlanılacaqsa, TypeScript daha ağıllı seçimdir: xətalar erkən tutulur və kodu dəyişmək təhlükəsizləşir. Müasir freymvorklar (Next.js, React) hər ikisini tam dəstəkləyir, ona görə məcburi bağlılıq yoxdur.

Bəli, TypeScript tam pulsuzdur və Apache-2.0 lisenziyası ilə açıq mənbəli layihədir. Kommersiya layihələrində istifadəsi üçün heç bir ödəniş və ya icazə tələb olunmur. Layihənin inkişafını Microsoft maliyyələşdirir, mənbə kodu isə GitHub-da açıqdır.

JavaScript bilən proqramçı üçün TypeScript-in əsaslarını bir neçə həftəyə öyrənmək realdır: sintaksisin böyük hissəsi artıq tanışdır. Çətinlik daha çox mürəkkəb tip konstruksiyalarında (generiklər, şərti tiplər) yaranır, amma gündəlik işdə onlara nadir hallarda ehtiyac olur. Üstəlik tipləri tədricən əlavə etmək olar: bütün kodu birdən dəyişməyə ehtiyac yoxdur.

Texniki cəhətdən mümkündür, amma tövsiyə olunmur: TypeScript JavaScript-in üzərində qurulub və onun bütün davranışlarını miras alır. JavaScript-in əsaslarını (dəyişənlər, funksiyalar, asinxron kod) bilmədən tip sisteminin hansı problemi həll etdiyini anlamaq çətindir. Praktikada ikisi paralel öyrənilir: əvvəl JavaScript əsasları, sonra üstünə tiplər.

Xeyr, heç bir brauzer TypeScript kodunu birbaşa işlətmir. Kod əvvəlcə kompilyasiya olunur: adi JavaScript-ə çevrilir və brauzerə məhz bu JavaScript çatır. Proses avtomatikdir və saytı yavaşlatmır, çünki çevrilmə istifadəçinin cihazında yox, hazırlıq (build) mərhələsində baş verir.

Böyük kod bazasında ən bahalı problem gizli xətalar və dəyişiklik zamanı nəyisə sındırmaq riskidir. TypeScript-in tip yoxlaması minlərlə faylda bir dəyişikliyin nəyə təsir etdiyini saniyələr içində göstərir. Google-un Angular freymvorku tam TypeScript ilə yazılıb, React və Vue ekosistemləri də onu əsas variant kimi dəstəkləyir: buna görə korporativ layihələrdə o, faktiki standartdır.

Bəli, xüsusilə tip uyğunsuzluğundan yaranan xətaları. Sənayedə geniş istinad olunan 2017-ci il «To Type or Not to Type» tədqiqatı statik tiplərin ictimai JavaScript layihələrindəki bugların təxminən 15%-ni tuta biləcəyini göstərib. Bu, bütün xətaların yox olması demək deyil, amma ən çox rast gəlinən problem sinfi hələ kod yazılarkən aradan qalxır: test və düzəliş xərcləri də azalır.

Sayt sahibi kimi siz TypeScript-i birbaşa görmürsünüz, amma nəticəsini hiss edirsiniz: formalar, ödəniş axınları və admin panel daha az xəta ilə işləyir. Sayta yeni funksiya əlavə olunanda mövcud hissələrin sınması riski azalır, bu da inkişaf büdcəsini proqnozlaşdırıla bilən edir. Hətta podratçı dəyişəndə belə tipli kod yeni komanda üçün daha tez anlaşılır.

Bəli, SaytPro bütün yeni frontend layihələrini TypeScript ilə yazır: Next.js və React üzərində qurulan korporativ saytlardan xüsusi admin panellərə qədər. Python/Django backend API-dən gələn məlumatlar üçün tip təsvirləri yaradılır ki, frontend ilə backend arasındakı uyğunsuzluqlar hələ inkişaf mərhələsində görünsün.

Bu texnologiya adətən bunlarla birlikdə işləyir.

Meta tərəfindən yaradılmış, istifadəçi interfeysləri qurmaq üçün açıq mənbəli JavaScript kitabxanası.

  • Freymvork

React əsaslı, sürətli və SEO dostu saytlar üçün müasir veb freymvork.

  • Freymvork

JavaScript-i brauzerdən çıxarıb serverdə işlədən mühit.

  • Backend