Boshqalar

JavaScript dasturlash tili: qayerda ishlatiladi va nima sababdan mashhur?

JavaScript va uning qayerda ishlatilishi, ommabopligi va uni oʻrganishni nimadan boshlash kerakligi toʻgʻrisida hikoya qilamiz.

Ilgari veb-saytlar interfeysi matn, havola va illyustratsiyalardan iborat boʻlib, HTML va CSS tillari yordamida sahifalangan.

JavaScript yaratilishi bilan hamma narsa oʻzgardi. Bu dasturlash tili veb-saytlarni interaktiv, yaʼni foydalanuvchilar uchun qulay qildi. Tugma, shakl, matn kiritish maydonlari va boshqalar paydo boʻldi.

JavaScript (yoki boshqacha qilib aytganda JS) koʻp funksiyali dasturlash tilidir. JavaScriptʼdan nafaqat veb-saytlarni yaratishda, balki turli xil dasturlarni yozishda ham foydalaniladi.

JavaScript qayerda ishlatiladi?

Veb-ilovalar frontendi

JavaScript yordamida dasturchilar veb-ilovalar – biz brauzerda ishga tushiradigan dasturlarni yaratadi. Bularga elektron pochta, matn muharrirlari, ijtimoiy tarmoqlar, video hosting va boshqalar kiradi.

JavaScriptʼda veb-ilovalarning “tashqi interfeysi”, yaʼni frontend qismi yaratiladi. Foydalanuvchi tugmacha, plashka, menyularni bosish orqali u bilan munosabatda boʻladi.

Google Maps, Google Docs, Netflix, eBay kabi mashhur xizmatlar kodi JavaScriptʼda yozilgan.

Veb-ilovalar bekendi

Foydalanuvchilar koʻradigan interfeysdan tashqari veb-ilovalarning ichki qismi – bekend ham bor. Bu ilovaning odatda maʼlumotlar bazalari saqlanadigan server qismi hisoblanadi.

JavaScriptʼda Node.js – alohida dasturlash tili emas, balki JavaScript kodining server tomonidagi bajarilish muhiti mavjud. Uning yordamida operatsiyalarni bajarish yoki maʼlumotlar bazalariga murojaat qilish mumkin.

JavaScriptʼdan Node.js bilan birgalikda taniqli PayPal va Walmart kompaniyalari serverlari bilan oʻzaro aloqada boʻlish uchun foydalanadi.

Brauzer kengaytmalari

Brauzer kengaytmalari brauzerda bajariladigan koddan iborat mini-dasturlar hisoblanadi. Kengaytmalar reklamalarni bloklash, VPNʼni yoqish, videolarni yuklab olish yoki internetda oʻtkazilgan vaqtni hisoblashda yordam beradi. Ularning deyarli barchasi JavaScriptʼda yozilgan.

Mobil ilovalar

JavaScriptʼda iOS va Android uchun ilovalar ham yoziladi. Buning uchun maxsus freymvorklar: tayyor kodlar toʻplami, boʻlajak ilovalarning “karkasi” mavjud.

JavaScript freymvorklari React Native kabi kodni mobil platformalarga moslashtirishga yordam beradi. Bu ham iOS, ham Androidʼda ishlaydigan kross-platformali dasturlarni ishlab chiqish imkonini beradi. Bu esa tizimlarning har biri uchun alohida dasturchilarni yollamasdan turib dasturning ikkita versiyasini yaratish mumkin deganidir.

Groupon va LinkedIn mobil ilovalari JavaScriptʼda yozilgan.

Oʻyinlar

JavaScriptʼda sodda oʻyinlarni ham yozish mumkin. Odatda bu brauzer oʻyinlari boʻladi. Biroq baʼzida “2048”, PixelDefense, BrowserQuest kabi qiziqarli indi-loyihalar ham uchrab turadi.

Bundan tashqari, oʻyin uchun JavaScriptʼga asoslangan va brauzerlardan tashqarida ishlaydigan Unity3D ssenariylar muhiti ham mavjud.

Mashinani oʻqitish

Mashinani oʻqitishda koʻpincha boshqa dasturlash tillari, masalan, Python qoʻllanadi. Baʼzi hollarda, masalan, veb ilovalarni yaratishda buning uchun JavaScriptʼdan foydalaniladi. Qanday deysizmi? Mashinani oʻqitish modellaridan maʼlumotlarni vizualizatsiya qiladigan dasturlarni yaratishda JavaScript kerak boʻladi. Yoki maʼlumotlarni mashinani oʻqitish modeli bilan qayta ishlash uchun serverga yuboriladigan shaklga ega veb-sahifani yozishda qoʻllash mumkin.

Bundan tashqari, JavaScript uchun allaqachon bir nechta tayyor kod toʻplamlari – kutubxonalar yozilgan va ular asosida oʻz neyrotarmogʻingizni yaratishingiz mumkin. Masalan, Brain.js, Deep playground, Synaptic yoki FlappyLearning kutubxonalari mavjud.

Maʼlumotlar bazasi

JavaScriptʼning ommabop MBBT (maʼlumotlar bazasini boshqarish tizimi) MongoDB bilan ishlash imkonini beradigan shaxsiy Mongoose vositasi mavjud. JavaScriptʼda soʻrovlar yozish mumkin boʻlgan Clusterpoint kabi maʼlumotlar bazasi ham bor.

Shuningdek, maʼlumotlar bazalariga murojaat qilish imkonini beradigan strukturalangan soʻrovlar tili GraphQL ham mavjud. U React va JavaScriptʼning boshqa ommabop freymvorklari bilan birgalikda ishlaydi.

Buyumlar interneti (IoT)

JavaScriptʼdan buyumlar interneti (Internet of Things, IoT) — bitta tarmoqqa ulangan qurilmalar oʻrtasida maʼlumot almashishda ham foydalaniladi. Bunday qurilmalarga misollar bizga yaxshi tanish: aqlli soat, fitnes-treker, yongʻin signalizatsiyasi. Ular uchun dasturlar Cylon.js va JohnnyFive freymvorklari yordamida JavaScriptʼda yoziladi.

JavaScriptʼning ommabopligi

JavaScript muntazam ravishda eng keng tarqalgan dasturlash tillari topida oʻrin oladi. TIOBE indeksiga (qidiruv soʻrovlari asosida yaratilgan) koʻra, 2023-yilning sentyabr oyida JavaScript dasturlash tillari orasida oltinchi oʻrinni egallagan.

AyTi loyihalarni joylashtirishga moʻljallangan va deyarli barcha dasturchilar foydalanadigan bulutli platforma – GitHubʼning tadqiqoti bundan ham qiziqroq. Xizmat professionallarning dasturlash tillari boʻyicha reprezentativ statistikasini toʻplaydi.

GitHub maʼlumotlariga koʻra, JavaScript TypeScript bilan birgalikda dasturlash bozorining uchdan bir qismini nazorat qiladi. Tijoriy maqsadlarda foydalaniladigan tillar reytingida u birinchi oʻrinni egallaydi. Respondentlarning 19 foizi JavaScriptʼda kod yozadi.

Qizigʻi, soʻnggi ikki yilda JavaScriptʼdan foydalanish ulushi nafaqat frontendda, balki bekendda ham oʻsib bormoqda. Hozirgi paytda JavaScript bekend uchun eng ommabop tillar orasida yettinchi, frontend uchun esa birinchi oʻrinni egallab turibdi. Bundan tashqari, frontend boʻyicha u bozorning 64,6 foizini egallagan.

Full Stack dasturlash segmentida (yaʼni frontend va bekend) JavaScript ikkinchi oʻrinda boʻlib, bozor ulushining 20,6% ini egallaydi.

JavaScript istiqbollari

JavaScriptʼda ulkan kod massivlari yozilgan. Qisqa vaqt ichida ularni qayta yozishning deyarli imkoni va keragi ham yoʻq. Demak, yaqin kelajakda JavaScript bilan ishlaydigan va undagi dasturlarga xizmat koʻrsatadigan mutaxassislarga talab yuqori boʻladi.

JavaScript atrofida React, Angular va Vue.js kabi kutubxona va freymvorklarning ulkan ekotizimi shakllangan. Bu vositalar dasturlashni yanada samarali qiladi. Ularni bilish koʻplab boʻsh ish oʻrinlari haqidagi eʼlonlarda mavjud boʻlgan majburiy talabdir.

Hozirgi paytda biroz avval server ilovalarini yozish mumkinligini koʻrib chiqqanimiz Node.js platformasi ham faol rivojlanmoqda. Shu sababli JavaScriptʼda yozilgan bekendga ham talab yuqori boʻladi.

Hozirgi paytda Google standart veb-sayt va mobil ilova aralashmasi boʻlgan progressiv veb-ilovalar segmentini faol ravishda rivojlantirmoqda. Bunday harakatlar progressive web appsʼga keng istiqbollar bashorat qiladi. Ular biznes uchun foydalidir, shuning uchun bozorning hozircha faqat bitta platformaga moʻljallangan dasturlarga tegishli qismiga daʼvo qilish imkoniyatiga ega.

Bularning barchasi birgalikda JavaScriptʼni veb-dasturlashdan tortib oʻyin dizaynigacha boʻlgan sohalarda muhim ahamiyat kasb etishda davom etadigan istiqbolli dasturlash tiliga aylantiradi.

JavaScript nomidagi “Script” nimani anglatadi?

Netscape kompaniyasi JavaScript yaratilgan 90-yillarning boshida Netscape Navigator deb nomlangan brauzerni ishlab chiqargan. Rejaga koʻra, brauzerda interaktiv va dinamik veb-sahifalarni yaratish imkoniyati boʻlishi kerak edi.

Kompaniya yangi dasturlash tilini ishlab chiqish uchun dasturchi Brendan Aykani yolladi. Dastur LiveScript deb nomlanishi kerak edi. Ammo Java tilining mashhurligi (Sun Microsystems tomonidan ishlab chiqilgan) tufayli Netscape eʼtiborni jalb qilish va uni Java bilan bogʻliq deb oʻylashlari uchun nomni JavaScriptʼga oʻzgartirishga qaror qildi.

JavaScript — skriptlarni yozishda ishlatiladigan dasturlash tili. Skriptlar esa veb-brauzer ichida bajariladigan va veb-sahifalarga interaktivlik qoʻshadigan kichik dasturlardir. Masalan, JavaScriptʼdan foydalanib, veb-sahifalarni yanada dinamik va foydalanuvchilarga qulayroq qilish maqsadida shakllar validatsiyasi, animatsiyalar, voqealarni qayta ishlash (masalan, sichqonchani bosish) va boshqalarni yaratish mumkin.

JavaScript — skript yozish mumkin boʻlgan dasturlash tili. Bu brauzer ichida bajariladigan va sahifaga interaktivlik qoʻshadigan kichik dastur. JavaScriptʼdagi skript va dasturlar tufayli oʻzimizga yoqqan kontentga layk bosishimiz, sharhlar yozishimiz, ijtimoiy tarmoqlarda postlarni boʻlishishimiz va boshqa koʻplab narsalarni qilishimiz mumkin.

JavaScript va Javaʼning farqlari

JavaScript va Java ikki xil dasturlash tili, ularni faqat nomlari oʻxshash boʻlgani uchun chalkashtirishadi.

Java ancha murakkab va ogʻirroq boʻlib, brauzerda skriptlarni bajarishga mos kelmaydi. Java server dasturlari, oʻyinlar, bank tizimlari ilovalari va Big Data uchun dasturlar ishlab chiqishda ishlatiladi. Shuning uchun JavaScript va Java dasturlarini qoʻllash sohalari mutlaqo har xil.

JavaScript Javaʼga qaraganda soddaroq. Taqqoslash uchun: standart «Hello, world!» dasturi JavaScriptʼda atigi bir satrda joy oladi:

console.log("Hello, World!");

Javaʼda esa besh satr boʻladi:

public class HelloWorld {
   public static void main(String[] args) {
      System.out.println("Hello, World!");
   }
}

Ularga boʻlgan talab haqida gapiradigan boʻlsak, ikkala til ham ishonchli tarzda eng ommabop dasturlash tillari oʻnligiga kiradi.

JavaScriptʼning muhim xususiyatlari

HTML va CSS bilan integratsiya

HTML belgilash tili, CSS esa stillar jadvallari hisoblanadi. Ularga toʻlaqonli kod yozib boʻlmaydi: faqat veb-sayt sahifasida elementlarni joylashtirish mumkin.

JavaScriptʼda esa kod yozish mumkin va bu til belgilash tillariga integratsiya qilingan. Yaʼni belgiga skript qoʻshish kerak boʻlsa, u yerga JavaScriptʼda yozilgan kod kiritiladi.

<!DOCTYPE html>
<html>
<head>
<script> Bu yerda sizning skriptingiz boʻlishi mumkin </script>
</head>

Ammo sahifada koʻpincha faylga havola joylashtiriladi: bu bitta skriptdan koʻplab sahifalarda foydalanish va ularning har birini tahrir qilmaslik imkonini beradi.

Multiparadigmalik

Dasturlashda uchta asosiy paradigma mavjud:

  • Obyektga oid. Unda funksiya va maʼlumotlar toʻplamidan foydalaniladi, kod esa ular oʻrtasidagi munosabatlar tizimi sifatida tuziladi.

  • Funksional. Matematik funksiyalardan foydalaniladi. Qiymatlarni oʻzgartiradigan oʻzgaruvchilar boʻlmagani sababli bu paradigmadagi soʻrovlar natijasi har doim bir xil boʻladi.

  • Imperativ. Qiymatlar belgilanadigan oʻzgaruvchilar va ketma-ket bajariladigan koʻrsatmalardan foydalaniladi.

JavaScriptʼning oʻziga xos xususiyati shundan iboratki, til bu paradigmalarning istalganidan foydalangan holda kod yozishda dasturchiga koʻproq imkoniyatlar beradi.

Dinamik tipiklashtirish

Dasturlash tillarida maʼlumotni sinflar boʻyicha ajratish – tipiklashtirish deb ataladigan qoidalar toʻplamidan foydalaniladi. JavaScriptʼda u dinamik. Bu oʻzgaruvchini yaratishda uning turini belgilash shart emasligini, yaʼni uni maʼlum bir maʼlumotlar guruhiga kiritishga hojat yoʻqligini anglatadi.

JavaScriptʼning afzalliklari

  • Platformaga bogʻliq emas. Dasturni JavaScriptʼda ishga tushirish uchun qoʻshimcha ilovalar oʻrnatishning keragi yoʻq: buni har qanday brauzer amalga oshiradi. Boshqa tillar kodni bajaradigan kompilyator yoki dasturlash muhitini (IDE) oʻrnatishni talab qiladi.

  • Talabchan emas. JavaScript kodni brauzerda bajargani sababli dastur serverni yuklamaydi, javobni olish vaqti esa minimal boʻladi. Masalan, yangi parolni kiritayotganingizda u yetarli darajada murakkab emasligi haqidagi ogohlantirish darhol paydo boʻladi. Bu JavaScriptʼning xizmatidir.

  • Oʻrganish oson. JavaScript eng oson dasturlash tillari qatoriga kiradi. Shu bilan birga, u ulkan hamjamiyat va dasturchining hayotini yengillashtiradigan koʻplab vositalarga ega.

JavaScriptʼning kamchiliklari

  • Maʼlumotlar turlari muammosi. JavaScriptʼdagi oʻzgaruvchilar oʻz maʼlumotlar turini dasturni bajarish jarayonida oʻzgartirishi mumkin. Bizda “1000” deb yozilgan oʻzgaruvchi borligini tasavvur qiling. Bu qayd ham son yoki shunchaki satrni toʻldirib turgan matn ham boʻlishi mumkin. Koʻpgina dasturlash tillarida satr va sonni qoʻshib boʻlmaydi. JavaScript esa shunchaki hisoblash natijasini chiqarib berishi mumkin. Shu sababli kodda topish qiyin boʻlgan kutilmagan xatolar yuzaga kelib turadi.

const sum = (num1, num2) => num1 + num2
sum(1, 2) // 3
sum('hello', 2) // 'hello2'

  • Juda koʻp qoʻshimcha kutubxona va freymvorklar. JavaScriptʼning barcha imkoniyatlaridan foydalanish uchun qoʻshimcha vositalar kerak. Ularni tanlashning oʻzi qiyin vazifadir. Ular bir-biri bilan ziddiyatga bormasligi, toʻgʻri ishlashi va ularni qoʻllab-quvvatlash kutilmaganda toʻxtab qolmasligi kerak. JavaScriptʼda yangi ish boshlayotgan dasturchi uchun asosiy kamchilik — karyerani tijoriy dasturlashda boshlash uchun bir nechta vositalarni oʻrganishiga toʻgʻri keladi. Keyinchalik yangi loyihaga oʻtish uchun yana bir nechtasini oʻzlashtiradi.

  • Ish unumdorligi muammolari. JavaScriptʼning interpretatsiya qilinishi uning afzalligi deb hisoblanadi, ammo baʼzida u kamchilikka aylanadi. Katta maʼlumotlar massivlarini qayta ishlashda operatsiyalar bajarilishi boshqa tillarga qaraganda kamroq samara beradi.

JavaScriptʼda birinchi dasturimizni yozamiz

Anʼanaga koʻra, mashgʻulotlar eng oddiy — ekranga “Hello, world!” yozuvini chiqaradigan dastur bilan boshlanadi. Uni JavaScriptʼda yaratish uchun brauzerning oʻzi yetarli boʻladi.

F12 tugmachasini bosish yoki “Sahifa kodini koʻrish” orqali brauzerda “Dasturchi vositalari”ni oching. Brauzerda ochilgan panelda “Konsol” qoʻshimcha sahifasini topib, u yerga oʻting. Kodni oʻsha yerda yozamiz.

Qoʻshimcha sahifada quyidagi matnni yozing:

console.log("Hello, world!");

Soʻngra Enter tugmasini bosing. Konsolda bu yozuv paydo boʻladi.

Endi alert("Hello, world!") matnini kiritib koʻring. Brauzerda qalqib chiquvchi oyna paydo boʻladi. Veb-saytlarga kirganda ularni tez-tez uchratishimiz mumkin. Masalan, cookie-fayllar yigʻilishiga ruxsat berishimiz soʻralganida. Tabriklaymiz, hozirgina bunday oyna uchun skript yozdingiz.

JavaScriptʼni oʻrganish qanchalik qiyin?

JavaScript sintaksisi juda oson tuzilgan. Shuning uchun bozorda ommaboplikka erishgan: uni oʻrganish nisbatan oson.

JavaScriptʼni oʻrganishning ijobiy tomonlari sifatida rivojlangan ekotizim keltiriladi. U keng jamoatchilik va har tomonlama koʻmakka ega, koʻplab oddiy vazifalar yechimini Googleʼda topish yoki forumda tezkor javob olish mumkin.

Soddaligi va yaxshi hujjatlashtirilganligi sababli JavaScript koʻpincha boshlangʻich til sifatida tanlanadi.

JavaScriptʼning murakkabligi shundaki, tijoriy dasturlashda ishtirok etish uchun faqat dasturlash tilining oʻzini bilish yetarli boʻlmaydi. Sahifalashni oʻrganish, serverga maʼlumotlarni yuborish va qabul qilish tamoyillarini tushunish, shuningdek, kamida ikkita ommabop kutubxona va freymvorklarni oʻrganish kerak boʻladi.

JavaScriptʼni oʻrganishni nimadan boshlagan maʼqul?

“Zamonaviy junior JavaScriptʼdagi katta maʼlumotlar massivini oʻzlashtirishi kerak. Birinchidan, bu dasturlash tilining fundamental asoslari: sikllar, oʻzgaruvchilar, tarmoqlar, konstantalar, turlar, konstruktor sinflari va boshqalar. Ikkinchidan, sahifalashni hech boʻlmaganda umumiy tarzda bilishi va uning tamoyillarini amalda qoʻllay olishi kerak.

JavaScript voqealar modeli, DOM obyekti va hujjat modelini tushunish ham foydali boʻladi. Shuningdek, ommabop freymvorklarning biridan foydalanishni oʻrganishi kerak. Masalan, React yoki Vue.

Brauzerdan AJAX va HTTP soʻrovlar qilishni oʻrganish ham muhimdir. Buni cheksiz oʻrganish mumkin. Ammo junior hech boʻlmaganda APIʼdan maʼlumotlarni yuklab olish va yuborishni, avtorizatsiya va soʻrov parametrlaridan foydalanishni bilishi kifoya. Agar nima ish qilayotganingizni tushunsangiz, shu baza bilan ish topishingiz mumkin.”

Shuningdek, JavaScriptʼni oʻrganishni istaganlarga quyidagi kitoblarni oʻqishni tavsiya etamiz:

Manba: Язык программирования JavaScript: где его используют и почему он популярен

#javascript
Mohirdev Telegram

Telegram kanalimizga obuna bo’lishni unutmang

Obuna bo'lish
Hexlet

Hexlet

O'xshash maqolalar

Qanday qilib yarim soat ichida veb-sayt yaratish mumkin? WordPress oʻzi nima?
no-code
wordpress

20-iyun, 2024

Qanday qilib yarim soat ichida veb-sayt yaratish mumkin? WordPress oʻzi nima?

Dasturchi yordamisiz noldan boshlab

Maqolani o'qish
Nima uchun Java dasturlash tilini o'rganish kerak?
Full Stack Java

11-dekabr, 2023

Nima uchun Java dasturlash tilini o'rganish kerak?

Javani tanlash uchun sabablar

Maqolani o'qish
Bosim ostida testdan oʻtkazish (testing): biz avtonom sinov tizimini qanday yaratdik?
testing
machine learning

9-aprel, 2024

Bosim ostida testdan oʻtkazish (testing): biz avtonom sinov tizimini qanday yaratdik?

Birmuncha vaqt avval dasturni ishchi nusxa (production instance)ga yuklashdan soʻng avtomatik  testdan oʻtkazish (testing) kerak boʻladigan loyihada ishlagandim. Avtomatlashtirilgan testdan oʻtkazish (testing) bu – toʻliq sinovdan oʻtkazilmasdan oldin dasturiy taʼminotga yaqinda qoʻshilgan yoki oʻzgartirilgan funksiyalar oʻz oʻrnida ishlayotganini tezkor tekshirish usuli. Bu usul batafsil testdan oʻtkazishdan avval asosiy funksiyalar ishlayotganiga amin boʻlishga yordam beradi va oʻz-oʻzidan sifatni taʼminlashdagi tezkor bosqich sanaladi. Testdan oʻtkazish sozlamalari reliz turiga qarab dinamik ravishda oʻzgarib turishi kerak, chunki frontend va bekend relizlar turli vaqtlarda chiqarilgan hamda turlicha testdan oʻtkazish sozlamalarini talab etgan boʻladi.

Maqolani o'qish
Birinchi dasturchi: kim kasbga asos solgan?

17-may, 2024

Birinchi dasturchi: kim kasbga asos solgan?

Gap nima haqida? Har qanday faoliyat sohasini oʻrganayotganda, unga asos solgan inson haqida bilish doim qiziq. Shuning uchun birinchi dasturchi kim boʻlgani haqidagi savol behuda emas va uning javobi ushbu ilm-fan sohasining mohiyatini ochib beradi.

Maqolani o'qish
Dasturlash tili vaqt boʻylab sayohatni taʼminlay oladimi?

1-may, 2024

Dasturlash tili vaqt boʻylab sayohatni taʼminlay oladimi?

Kompyuter ilmi (informatika) parallelizm (konkurentlik) bilan ishlaydi, lekin bir vaqtdagi harakat borasida nima deya olamiz?

Maqolani o'qish