Kompaniya ilovani yaratishni boshlash uchun dasturiy ta'minot rahbari qaysi kutubxona yoki freymvorkdan foydalanishni hal qilishi kerak. Shu nuqtai nazardan, aniq savol tug'iladi: freymvork va kutubxona o'rtasidagi farq nima?
Kutubxona uyingizni boshidan qurishga o'xshaydi. Uy o'zingiz yoqtirgan har qanday uslubda tayyorlanishi mumkin va xonalar siz xohlagan tarzda tartibga solinishi va bezatilgan bo'lishi mumkin. Boshqa tomondan, freymvork yangi uy sotib olishga o'xshaydi. Uy allaqachon qurilgan, shuning uchun siz qurilish muammolari haqida qayg'urmasligingiz kerak, lekin siz xonalarni qanday tartibga solishni tanlay olmaysiz.
Aksariyat dasturchilar o'zlarining kareralari davomida yuzlab freymvorklar va kutubxonalardan foydalanadilar, ammo bu savolga ular javob berishadi: "Freymvork shunchaki kutubxonalar to'plamidir", lekin bu mutlaqo to'g'ri emas.
Ilovalarni ishlab chiqishda kutubxonalar va freymvorklar asosiy rol o'ynaydi. Aslida, kutubxona ham, freymwork ham murakkab muammolarni hal qilish uchun dasturchilar tomonidan yozilgan qayta foydalanish mumkin bo'lgan kod qismlaridir. Ikki atamani ajratib turadigan narsa "Kim kimga qo'ng'iroq qilmoqda". Kutubxonalar va freymvorklar qanday farq qilishini batafsil ko'rib chiqishdan oldin, keling, ikkala atamani ham batafsil ko'rib chiqaylik.
Freymwork nima?
Dasturchilar Freymvork kabi ularga yordam beradigan vositalarga ega bo'lsa, noldan boshlashlari shart emas. Freymvork dasturchilar muayyan platformalar uchun ilovalarni yaratadigan poydevorga o'xshaydi. U umumiy vazifalarni bajarish uchun yozilgan qayta foydalanish mumkin bo'lgan kod qismlarini o'z ichiga oladi va maxsus funksionallik uchun dasturchitomonidan taqdim etilgan koddan foydalanadi. freymvork dasturchilar ilovalarni yaratishda foydalanishi mumkin bo'lgan aniqlangan va aniqlanmagan ob'ektlar va funktsiyalarni o'z ichiga olishi mumkin. Shunday qilib, tuzilma atrofida mavjud koddan foydalangan holda tizimga muhim funksiyalarni qo'shishimiz mumkin.
Nima uchun biz Frameworklardan foydalanamiz?
Dasturiy ta'minotni ishlab chiqish murakkab jarayondir. Bu kodlash, loyihalash, sinovdan o'tkazish va hokazo kabi ko'plab iboralarni o'z ichiga oladi. Kodlash haqida gap ketganda, dasturchilar sintaksis, deklaratsiyalar, bayonotlar, istisnolar va boshqalar haqida tashvishlanishlari kerak. Dasturiy ta'minot freymvorklar dasturchilar dasturiy ta'minotni ishlab chiqish jarayonining to'liq yoki ko'p qismini boshqarishi mumkin bo'lgan umumiy platformani taqdim etish orqali ishlab chiqishni osonlashtiradi.
Kutubxona nima?
Kutubxona - bu vazifalarni soddalashtirish uchun ishlatilishi mumkin bo'lgan oldindan yozilgan kodlar to'plami. Kutubxona atamasi shunchaki qayta-qayta ishlatiladigan kodlar to'plamini anglatadi. Bu mohiyatan dasturchilar oʻz ishini soddalashtirish va rivojlanish jarayonini tezlashtirish uchun foydalanishi mumkin boʻlgan oldindan belgilangan funksiyalar va sinflar toʻplamidir. Shunday qilib, dasturchilar muayyan funksiyalarni bajarish uchun kod yozishlari shart emas, chunki kutubxona allaqachon ushbu funksiyalar uchun kodni o'z ichiga oladi. Ko'pgina dasturlash tillarida standart kutubxonalar mavjud, ammo dasturchilar o'zlarining shaxsiy kutubxonalarini ham yaratishlari mumkin.
Odatda, aksariyat kutubxonalar katta hajmga ega emas. Umuman olganda, kutubxonalar qatorlar, rozetkalar va IO va boshqalar kabi tor doiralarga qaratilgan, shuning uchun ularning API'lari ham kichik va kamroq bog'liqlikni talab qiladi. jQuery, NumPy va boshqalar kutubxonalarga misol bo'la oladi.
Nima uchun bizga kutubxona kerak?
Bu savolga faqat bitta javob bor, u allaqachon boshqa birov (yoki boshqa dasturchi) tomonidan yozilgan kodni qayta ishlatishdir. Dasturchilar kutubxonada allaqachon yozilgan funksiyalar uchun kod yozishdan qochishlari mumkin. Natijada ko'proq samaradorlik va kodlash uchun kamroq vaqt sarflanadi. Boshqa odamlar ham undan foydalanish ehtimoli ko'proq bo'lganligi sababli, siz ulardan har qanday xatolarni topish va tuzatishdan foyda ko'rasiz. Bu kutubxonalar foydali bo'lishining sabablaridan biridir.
Asosiy farqlar.
Oddiy qilib aytganda, "Boshqaruvning inversiyasi" (IoC) kutubxona va freymvork o'rtasidagi farqni tavsiflaydi. Qaysidir ma'noda siz freymvorkni kutubxonalar to'plami deb o'ylashingiz mumkin, ammo u butunlay boshqacha. Kutubxonadan foydalanib, siz dastur oqimini boshqarasiz. Kutubxonani xohlagan vaqtda va xohlagan joyda chaqirish mumkin. Buning aksincha, siz freymvorkdan foydalanganda, oqim freymvork tomonidan boshqariladi. Ramka sizga kodingizni qaerga qo'yishni ko'rsatib beradi, lekin kerak bo'lganda kodingizni chaqiradi. Oddiy qilib aytganda, bizning kodimiz kutubxona kodini chaqiradi, ammo freymvorkda bu bizning kodimizni quyidagi diagrammada ko'rsatilganidek chaqiradigan freymvork kodi.
Dasturchilar komponentlar, sinflar va usullardan foydalangan holda muayyan vazifalarni bajarish uchun kutubxonalarni chaqirishlari mumkin. Biroq, freymvork umumiy vazifalarni bajarish uchun kodni taqdim etadi va maxsus funksiyalar uchun dasturchi tomonidan taqdim etilgan koddan foydalanadi.