JavaRush /Java blogi /Random-UZ /Vaqtni tejash uchun eng yaxshi 10 ta Java kutubxonasi

Vaqtni tejash uchun eng yaxshi 10 ta Java kutubxonasi

Guruhda nashr etilgan
Ushbu maqola kim uchun: Java sintaksisi qidiruvini o'rganayotgan yangi boshlanuvchilar uchun ba'zi narsalar qiziq bo'ladi, lekin asosan taqdim etilgan material kurs ekvatorini kesib o'tganlar uchun ko'proq mos keladi (Java Collections va Java Multithreadingni tushunadi) kvestlar) va Java Core doirasidan tashqariga chiqadigan texnologiyalarga qiziqa boshladi. O'zining mavjudligi davomida Java juda ko'p kutubxonalarga ega bo'ldi. Ammo qaysi biri foydalanishga arziydi va qaysi biri yo'qligini qanday bilasiz? Har doim band bo'lgan ishlab chiqaruvchi uchun bug'doyni somondan ajratish juda qiyin. Ushbu maqolada , Dreamix kompaniyasining Full Stack dasturchisi Martin Patsov ochiq kodli kutubxonalarga bo'lgan muhabbati haqida gapiradi va ayniqsa foydali deb topadigan kutubxonalarni taklif qiladi. Vaqtni tejash uchun 10 ta eng yaxshi Java kutubxonalari - 1Bo'lish yoki bo'lmaslik, bu savol: Najot yoki muvaffaqiyatsizlik bo'ladimi, o'sha Java kutubxonasi... Jasoratli bo'ling! "SigniOrs" allaqachon u erda bo'lgan va men ularning tajribasini sizga o'tkazaman. Mening she'riy chekinishimga adashmang. Java-da haqiqatan ham juda ko'p kutubxonalar mavjud va ularni tushunish juda qiyin. Biroq, men ularni juda yaxshi ko'raman. Meni hatto “kutubxona xushxabarchisi” deb atash mumkin ( IT sohasida “evangelist” deganda biz kanonik xushxabarni tuzuvchini emas, balki u yoki bu texnologiyani professional tarzda targ‘ib qiluvchi kishini nazarda tutamiz. Uni oddiy PR xodimlari bilan aralashtirib yubormang: ko‘pincha , IT evangelisti texnologiyani targ'ib qilayotgan texnologiyani to'liq tushunadi - muharrirning eslatmasi ). Kutubxonalar ochiq manba ekotizimining juda muhim qismidir. Ularning atrofida ularni rivojlantiradigan va qo'llab-quvvatlovchi yirik jamoalar o'sadi. Va bu ajoyib. Kutubxonalarning asosiy afzalligi shundaki, ular har safar kod yozganimizda g'ildirakni qayta ixtiro qilishdan qochish imkonini beradi. Muayyan vazifalar uchun allaqachon yozilgan kutubxonalardan - iloji boricha tez-tez foydalaning! Vaqtni tejaysiz. Jiddiy ravishda, oila va do'stlar bilan vaqt o'tkazish yaxshiroqdir.

Top 10

Ushbu eslatmada men ishimda foydalanishni afzal ko'rgan Java kutubxonalarini eslatib o'tdim. Ularning barchasi ochiq kodli dasturiy ta'minotdir. Men uni foydalilik, yaxshi hujjatlar va qo'llab-quvvatlash, shuningdek, muntazam yangilanishlar asosida tanladim. Yana bir bor ta'kidlamoqchimanki, bu mening shaxsiy tanlovim va u siznikidan sezilarli darajada farq qilishi mumkin.

1. Java standart kutubxonalari

Ha, ha, siz bunday deb o'ylamadingiz! Bundan tashqari, ko'p odamlar Java standart kutubxonalarining imkoniyatlarini kam baholaydilar va dasturlashda o'zlarining imkoniyatlarini qanday ochishni bilishmaydi ... yoki hatto ulardan umuman foydalanmaydilar. Mana ulardan ba'zilarining qisqacha tavsifi:
  • java.lang . Ushbu kutubxona har doim har qanday Java ilovasiga import qilinadi, chunki unda siz dasturlash mumkin bo'lmagan barcha narsalar mavjud ( String , Double , Enum , Math va boshqalar).

  • Java.util -da siz Java-da mavjud bo'lgan barcha to'plamlar va ma'lumotlar tuzilmalarini topishingiz mumkin.

  • Keyinchalik, fayllarni o'qish, oqimlarni ishga tushirish, Pipe sinfi ob'ektlari va boshqalar uchun java.io mavjud .

  • Siz birinchi uchtasi haqida allaqachon eshitgansiz. Ammo java.io ga muqobil java.nio haqida hamma ham bilmaydi. Bu kutubxona kirish/chiqarishni blokirovka qilmaslik uchun javobgar bo‘lib, siz taxmin qilganingizdek, I/U-dan intensiv foydalanishga imkon beradi.

  • java.net rozetkalar bilan ishlash, ulanishlar yoki qisqa tarmoq ilovalarini yaratish uchun ishlatiladi.

  • Java-da bizda GUI bilan ishlash uchun kutubxonalar ham mavjud: javax.swing (bundan ham eski java.awt ning ancha eskirgan kengaytmasi ).

  • Hatto java.sound yordamida musiqa tinglashimiz va MIDI fayllarni yaratishimiz mumkin .

2. JHipster

JHipster - bu Spring, Spring-MicroServices, Netflix, Docker, Kubernetes, AngularJs, Liquibase, MongoDB, Cassandra, ElasticSearch kabi eng zamonaviy va zamonaviy texnologiyalardan foydalangan holda yuqori yuklangan kengayadigan veb-serverlarni tezkor joylashtirish, ishlab chiqish va yaratish uchun platforma.
Vaqtni tejash uchun 10 ta eng yaxshi Java kutubxonalari - 2
Rostini aytsam, bu "Java hipster" hayotimning oylarini saqlab qoldi. Men aniq ayta olamanki, JHipster ro'yxatdagi mening shaxsiy sevimli va yuragimda alohida o'rin tutadi. Ushbu vosita tarqatilgan veb-server loyihasining eskizini yaratish uchun deyarli ajralmas hisoblanadi. U bog'liqliklar bilan pom faylini yaratishi, Elastik qidiruv va ulanishni sozlashi mumkin, siz qilishingiz kerak bo'lgan yagona narsa arxitekturaning biznes mantiqini qo'shishdir. Yaratilgan loyihaga kiritilgan asosiy va eng muhim kutubxonalar:
  • Spring Boot ilovalarni ishlab chiqishni tezlashtirish va soddalashtirishga yordam beradi
  • Angular /AngularJS - JavaScript ramkasi
JHipster haqida ko'proq ma'lumotni bu erda topishingiz mumkin .

3. Maven

Maven Java loyihalarini yaratish uchun eng mashhur uchta vositadan biridir. U kompilyatsiya qilish, jar fayllarini yaratish (Java arxivlari), dasturlarni tarqatish va hujjatlarni yaratish uchun javobgardir.
Vaqtni tejash uchun 10 ta eng yaxshi Java kutubxonalari - 3
Har bir zamonaviy loyiha turli fayllar, modullar, texnologiyalardan iborat. Oddiy qilib aytganda, loyihani qurish uning "ishchi" versiyasini, ya'ni bajarish uchun ishga tushirilishi mumkin bo'lgan dasturni tayyorlaydi. Buni qo'lda, buyruq satrida bajarish mumkin yoki siz maxsus skriptlarni yozishingiz mumkin. Biroq, maxsus ilovalar yordamida buni qilish ancha oson. Ular "avtomatik yig'ish tizimlari" deb ataladi. Maven shunday uchta dasturdan biri, qolgan ikkitasi Gradle va Ant. Bunday tizimlar loyihaning dastlabki kodini kirish sifatida qabul qiladi va chiqish sifatida ular ishga tushirilishi mumkin bo'lgan dasturni ishlab chiqaradi.
Loyiha tuzilmasi (bog'liqlar, konfiguratsiyalar, hujjatlar) pom.xml faylida (POM - Project Object Model) tasvirlangan, u loyihaning ildiz papkasida joylashgan bo'lishi kerak. Rostini aytsam, Maven - bu juda yaxshi narsa, hatto boshida unchalik aniq bo'lmasa ham. Agar siz ilgari hech qachon Maven-dan foydalanmagan bo'lsangiz, unda siz imkoniyatni boy beryapsiz. Ochig'i, men Mavendan oldin Enterprise ilovalari qanday yaratilganini ham tushunmayapman. Maven haqida rus tilida bu yerda o'qishingiz mumkin .

4. Apache Commons

Apache Commons aslida Java kutubxonalarini yaratishga qaratilgan butun loyihadir. Yoki turli maqsadlar uchun "kichik Java yordam dasturlarining katta to'plami". Aytgancha, Apache Commons yordam dasturlari bir nechta taniqli loyihalarning asosidir, masalan, Tomcat, Hibernate va boshqalar. Bu erda eng ko'p ishlatiladigan Apache Commons kutubxonalarining qisqa ro'yxati:
Vaqtni tejash uchun 10 ta eng yaxshi Java kutubxonalari - 4
  • Umumiy matematika . Apache Commons Math Library, nomi hamma narsani aytadi: unda murakkab matematik va statistik operatsiyalar va hisob-kitoblar uchun komponentlar mavjud.

  • Commons CLI . Buyruqlar qatori argumentlarini tahlil qilish uchun API taqdim etadi. Parametrlarni o'tkazish va uning xatti-harakatlarini boshqarish qobiliyatisiz dastur yaratish haqida o'ylashning hojati yo'q!

  • Commons CSV . Nimani ishlab chiqishingizdan qat'i nazar, bir nuqtada siz csv fayllaridan foydalanish zarurati bilan shug'ullanishingiz kerak bo'ladi. Ya'ni, ularni ochish, o'qish, tahrirlash, saqlash va yaratish kerak bo'ladi. Fayllarni saqlash/yaratishda CSVFormat sinfidan RFC 4180 formatini va UTF-8 kodlashdan foydalanishni taklif qilaman.

  • Commons I.O. I/U operatsiyalarini soddalashtirish uchun foydalaniladi. Hech bo'lmaganda ReversedLinesFileReader-ni ko'rib chiqing, bunga arziydi!
Bu yerda Apache Commons (ingliz tilida) haqida o'qishingiz mumkin .

5. Guava

Guava - Java uchun Google asosiy kutubxonalari to'plami. Ularda yangi to'plam turlari (masalan, multimap va multiset), o'zgarmas to'plamlar, grafik kutubxonalar, funktsional turlar mavjudmi? parallellik, kiritish-chiqarish, xeshlash, satrlarni qayta ishlash va boshqalar uchun yordamchi dasturlar. Ushbu vositalarning barchasi Google mutaxassislari tomonidan o'z ishlarida qo'llaniladi va bu allaqachon yaxshi tavsiya.
Vaqtni tejash uchun 10 ta eng yaxshi Java kutubxonalari - 5
Qaysidir ma'noda Guava Apache Commons-ga muqobildir. Aslida, biz Guava haqida uzoq vaqt gaplashishimiz mumkin (bunga e'tibor bering!), lekin bu erda men ushbu kutubxonadan faqat bitta foydali narsani eslatib o'taman. Balki siz o'z to'plamlaringizni tartibga solish yoki ulardagi tarkibni solishtirish kabi qiyinchiliklarga duch kelgandirsiz? Bir nechta shartlarga ega bo'lgan bir nechta ustunlar bo'ylab kengaytirilgan saralash va taqqoslash haqida nima deyish mumkin? ComparisonChain komponenti to'plamlar uchun ilg'or va murakkab tartiblashni amalga oshirish uchun ishlatiladi. Guava haqida (ingliz tilida) bu yerda o'qishingiz mumkin .

6. google-gson

Google-gson kutubxonasi Java obyektlarini JSON ga va aksincha aylantirish uchun foydalidir. Bu, ayniqsa, mobil ilovalarni ishlab chiqishda va REST API-larini yaratishda/foydalanishda yoki Java ob'ektini JSON ko'rinishiga aylantirishingiz kerak bo'lganda va aksincha foydalidir.
Vaqtni tejash uchun 10 ta eng yaxshi Java kutubxonalari - 6
Java Collections kvestidan JSON (JavaScript Object Notation), Guava, Apache Commons va boshqa qiziqarli narsalarni bilib olasiz .
Google-gson (ingliz tilida) haqida bu yerda o'qishingiz mumkin .

7. Hibernate-ORM

Hibernate - bu ob'ekt bilan bog'liq xaritalash (ORM) muammolarini hal qilish uchun mo'ljallangan kutubxona. Hibernate ORM relyatsion ma'lumotlar bazalarida ma'lumotlarni saqlash uchun ishlatiladi. Bu ishlab chiquvchilar uchun oddiyroq va mavhumroq usulni taqdim etadi. U amalga oshirishda JDBC dan foydalanadi. Hibernate, shuningdek, JPA spetsifikatsiyasining amalga oshirilishidir.
Vaqtni tejash uchun 10 ta eng yaxshi Java kutubxonalari - 7
Hibernate ORM (ingliz tilida) haqida bu yerda o'qishingiz mumkin .

8. Mokito

Mockito nomi sizni aldashiga yo'l qo'ymang. Bu kokteyl haqida emas, balki soxta narsalar uchun kutubxona haqida. Soxta ob'ektlar - bu berilgan sxema bo'yicha haqiqiy ob'ektning xatti-harakatlarini taqlid qiluvchi ob'ektlar. Masalan, birlik testi uchun bunday "soxta" ob'ektlar biznes ob'ektlarining xatti-harakatlarini taqlid qilishi mumkin. Xo'sh, Mockito soxta kutubxonasi soxta ob'ektlarni yaratish va ulardan foydalanish qulayligini oshiradi.
Vaqtni tejash uchun 10 ta eng yaxshi Java kutubxonalari - 8
Mockito haqida ma'lumotni bu yerda topishingiz mumkin .

9. JUnit

JUnit birlik testlarini (aka birlik testlari) yaratish uchun bepul Java ramkasidir. Bu kutubxona eng mashhurlaridan biri, deyarli hamma undan foydalanadi. Buni iloji boricha tezroq o'rganishingizni tavsiya qilamiz, chunki ko'pincha yangi Java dasturchilari va Java stajyorlari "kodni testlar bilan qoplashga" majbur bo'lishadi. Va shuni aytishim kerakki, bu kareraning eng yomon boshlanishidan uzoqdir.
Vaqtni tejash uchun 10 ta eng yaxshi Java kutubxonalari - 9
Junit haqida ko'proq ma'lumot bu erda .

10.Log4j va Slf4j

Ushbu ikkita ramka Java dasturlari ishlayotgan vaqtda sodir bo'ladigan muayyan hodisalarni qayd qilish uchun muntazam operatsiyalarni amalga oshirishni yashirish uchun mo'ljallangan. Slf4j - bu boshqa logging ramkalar uchun abstraktsiya (xuddi shu Log4j).
Vaqtni tejash uchun 10 ta eng yaxshi Java kutubxonalari - 10 ta
Log4j va Slf4j haqida qo'shimcha ma'lumot .
Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION