JavaRush /وبلاگ جاوا /Random-FA /10 کتابخانه برتر جاوا برای صرفه جویی در زمان

10 کتابخانه برتر جاوا برای صرفه جویی در زمان

در گروه منتشر شد
این مقاله برای چه کسی است: برخی از چیزها برای مبتدیانی که در حال مطالعه جستجوی نحوی جاوا هستند جالب خواهد بود، اما اساساً مطالب ارائه شده برای کسانی که قبلاً از خط استوا عبور کرده اند (مجموعه های جاوا و جاوا چند رشته ای را می داند) مناسب تر است. quests) و شروع به علاقه مندی به فناوری هایی می کند که فراتر از چارچوب Java Core هستند. جاوا در طول عمر خود تعداد زیادی کتابخانه را به دست آورده است. اما چگونه می توان فهمید که کدام یک ارزش استفاده دارند و کدام یک نه؟ جدا کردن گندم از کاه برای یک توسعه دهنده همیشه مشغله بسیار دشوار است. در این مقاله ، مارتین پاتسوف، توسعه‌دهنده Full Stack در Dreamix، در مورد علاقه‌اش به کتابخانه‌های متن‌باز صحبت می‌کند و کتابخانه‌هایی را که به‌نظر او بسیار مفید هستند، پیشنهاد می‌کند. 10 کتابخانه برتر جاوا برای صرفه جویی در زمان - 1بودن یا نبودن، مسئله این است: آیا این همان کتابخانه جاوا، رستگاری یا شکست خواهد بود... شجاع باشید! "SigniOrs" قبلاً آنجا بوده اند و من تجربه آنها را به شما منتقل خواهم کرد. با انحراف شاعرانه من گمراه نشوید. واقعاً تعداد زیادی کتابخانه در جاوا وجود دارد و درک آنها بسیار دشوار است. با این حال من آنها را خیلی دوست دارم. حتی می‌توان من را «مبلغ کتابخانه» نامید ( منظور از «انجیل» در حوزه فناوری اطلاعات، گردآورنده انجیل متعارف نیست، بلکه کسی است که به طور حرفه‌ای این یا آن فناوری را ترویج می‌کند. آن را با افراد عادی روابط عمومی اشتباه نگیرید: اغلب اوقات ، یک مبشر فناوری اطلاعات درک کاملی از فناوری دارد که در حال ترویج فناوری است - یادداشت سردبیر ). کتابخانه ها بخش بسیار مهمی از اکوسیستم متن باز هستند. جوامع بزرگی در اطراف آنها رشد می کنند که آنها را توسعه داده و حمایت می کنند. و این عالی است. مزیت اصلی کتابخانه ها این است که به ما امکان می دهند هر بار که کد می نویسیم از اختراع مجدد چرخ جلوگیری کنیم. تا جایی که امکان دارد از کتابخانه ها استفاده کنید – کدهایی که قبلاً برای کارهای خاص نوشته شده است! در زمان صرفه جویی خواهید کرد. به طور جدی، بهتر است که با خانواده و دوستان خود بگذرانید.

10 تا

در این یادداشت به آن دسته از کتابخانه های جاوا اشاره کردم که ترجیح می دهم در کارم از آنها استفاده کنم. همه آنها نرم افزار متن باز هستند. من آن را بر اساس مفید بودن، مستندات و پشتیبانی خوب و همچنین به روز رسانی های منظم انتخاب کردم. می خواهم یک بار دیگر تاکید کنم که این انتخاب شخصی من است و ممکن است با شما تفاوت چشمگیری داشته باشد.

1. کتابخانه های استاندارد جاوا

بله، بله، شما اینطور فکر نمی کردید! بسیاری از مردم دست کم می گیرند، علاوه بر این، آنها انبوه قابلیت های کتابخانه های استاندارد جاوا را نمی دانند و از نحوه باز کردن پتانسیل خود در برنامه نویسی آگاه نیستند ... یا حتی اصلاً از آنها استفاده نمی کنند. در اینجا به شرح مختصری از برخی از آنها می پردازیم:
  • java.lang . این کتابخانه همیشه به هر برنامه جاوا وارد می شود، زیرا حاوی همه چیزهایی است که بدون آنها اساساً نمی توانید برنامه ریزی کنید ( String ، Double ، Enum ، Math و غیره).

  • در java.util می توانید تمام مجموعه ها و ساختارهای داده موجود در جاوا را بیابید.

  • در مرحله بعد، java.io را برای خواندن فایل‌ها، اجرای جریان‌ها، اشیاء کلاس Pipe و غیره داریم .

  • به احتمال زیاد قبلاً در مورد سه مورد اول شنیده اید. اما همه در مورد java.nio ، جایگزینی برای java.io، نمی دانند. این کتابخانه مسئول عدم انسداد ورودی/خروجی است و همانطور که حدس می‌زنید امکان استفاده فشرده از I/O را می‌دهد.

  • java.net برای کار با سوکت ها، ایجاد اتصالات یا برنامه های شبکه کوتاه استفاده می شود.

  • در جاوا همچنین کتابخانه هایی برای کار با رابط کاربری گرافیکی داریم: javax.swing (یک پسوند نسبتاً قدیمی از java.awt حتی قدیمی تر ).

  • ما حتی می توانیم موسیقی پخش کنیم و فایل های MIDI را با استفاده از java.sound ایجاد کنیم .

2. JHipster

JHipster بستری برای استقرار سریع، توسعه و ایجاد وب سرورهای مقیاس پذیر با بار بالا و با استفاده از مدرن ترین و شیک ترین فناوری ها مانند Spring، Spring-MicroServices، Netflix، Docker، Kubernetes، AngularJs، Liquibase، MongoDB، Cassandra، ElasticSearch است.
10 کتابخانه برتر جاوا برای صرفه جویی در زمان - 2
راستش را بخواهید، این "جاوا هیپستر" قطعاً ماه ها از زندگی من را نجات داد. قطعا می توانم بگویم که JHipster مورد علاقه شخصی من در لیست است و جایگاه ویژه ای در قلب من دارد. این ابزار تقریباً برای ایجاد طرحی از پروژه وب سرور توزیع شده ضروری است. این می تواند یک فایل pom با وابستگی تولید کند، جستجوی الاستیک و اتصال را پیکربندی کند، تنها کاری که باید انجام دهید این است که منطق تجاری معماری را اضافه کنید. مهمترین و مهمترین کتابخانه های موجود در پروژه تولید شده عبارتند از:
  • Spring Boot به سرعت بخشیدن و ساده سازی توسعه برنامه کمک می کند
  • Angular / AngularJS - چارچوب جاوا اسکریپت
می توانید اطلاعات بیشتر در مورد JHipster را در اینجا بیابید .

3. ماون

Maven یکی از سه ابزار محبوب برای ساخت پروژه های جاوا است. او مسئول کامپایل، ایجاد فایل های jar (بایگانی جاوا)، ایجاد توزیع برنامه و تولید اسناد است.
10 کتابخانه برتر جاوا برای صرفه جویی در زمان - 3
هر پروژه مدرن از فایل ها، ماژول ها، فن آوری های مختلف تشکیل شده است. به بیان بسیار ساده، ساختن یک پروژه در حال آماده سازی نسخه "کار" آن است، یعنی برنامه ای که می تواند برای اجرا راه اندازی شود. این کار را می توان به صورت دستی، در خط فرمان انجام داد، یا می توانید اسکریپت های خاصی بنویسید. با این حال، انجام این کار با استفاده از برنامه های خاص بسیار ساده تر است. آنها "سیستم های مونتاژ خودکار" نامیده می شوند. Maven یکی از این سه برنامه است که دو برنامه دیگر Gradle و Ant هستند. چنین سیستم هایی کد منبع پروژه را به عنوان ورودی دریافت می کنند و خروجی برنامه ای است که می تواند اجرا شود.
ساختار پروژه (وابستگی ها، تنظیمات، مستندات) در فایل pom.xml (POM - Project Object Model) توضیح داده شده است که باید در پوشه اصلی پروژه قرار گیرد. راستش را بخواهید، Maven فقط یک چیز عالی است، حتی اگر در ابتدا خیلی واضح نباشد. اگر قبلاً از Maven استفاده نکرده اید، از دست داده اید. صادقانه بگویم، من حتی نمی دانم که چگونه برنامه های Enterprise قبل از Maven ایجاد شده اند. در اینجا می توانید در مورد Maven به زبان روسی بخوانید .

4. Apache Commons

Apache Commons در واقع یک پروژه کامل است که بر ایجاد کتابخانه های جاوا متمرکز شده است. یا "مجموعه بزرگی از ابزارهای کوچک جاوا" برای اهداف مختلف. به هر حال، ابزارهای Apache Commons اساس چندین پروژه بسیار شناخته شده هستند، به عنوان مثال، Tomcat، Hibernate و دیگران. در اینجا لیست کوتاهی از برخی از پرکاربردترین کتابخانه های Apache Commons آورده شده است:
10 کتابخانه برتر جاوا برای صرفه جویی در زمان - 4
  • ریاضی مشترک کتابخانه ریاضی Apache Commons، نام آن گویای همه چیز است: شامل اجزایی برای عملیات و محاسبات پیچیده ریاضی و آماری است.

  • مشترک CLI . یک API برای تجزیه آرگومان های خط فرمان فراهم می کند. حتی فکر کردن به ایجاد یک برنامه بدون توانایی عبور پارامترها و کنترل رفتار آن را به سختی ارزش دارد!

  • CSV مشترک مهم نیست که چه چیزی را توسعه می دهید، در برخی مواقع باید با نیاز به استفاده از فایل های csv مقابله کنید. یعنی باید باز شوند، خوانده شوند، ویرایش شوند، ذخیره شوند و ایجاد شوند. من پیشنهاد می کنم از فرمت RFC 4180 از کلاس CSVFormat و رمزگذاری UTF-8 هنگام ذخیره/ایجاد فایل ها استفاده کنید.

  • Commons I.O. برای ساده کردن عملیات I/O استفاده می شود. حداقل نگاهی به ReversedLinesFileReader بیندازید، ارزشش را دارد!
می‌توانید در اینجا درباره Apache Commons (به زبان انگلیسی) بخوانید .

5. گواوا

Guava مجموعه ای از کتابخانه های اصلی گوگل برای جاوا است. آیا آنها شامل انواع مجموعه جدید (مانند چند نقشه و چند مجموعه)، مجموعه های تغییرناپذیر، کتابخانه گراف، انواع عملکردی هستند؟ برنامه های کاربردی برای همزمانی، I/O، هش کردن، پردازش رشته ها و موارد دیگر. همه این ابزارها توسط متخصصان گوگل در کار خود استفاده می شود و این یک توصیه خوب است.
10 کتابخانه برتر جاوا برای صرفه جویی در زمان - 5
گواوا تا حدودی جایگزینی برای آپاچی کامانز است. در واقع می توان مدت زیادی در مورد گواوا صحبت کرد (حتماً به آن توجه کنید!) اما در اینجا فقط به یک مورد مفید از این کتابخانه اشاره می کنم. شاید قبلاً با چالش سازماندهی مجموعه های خود یا مقایسه محتوای درون آنها مواجه شده اید؟ در مورد مرتب سازی و مقایسه پیشرفته در چندین ستون با شرایط چندگانه چطور؟ جزء ComparisonChain برای پیاده سازی مرتب سازی پیشرفته و پیچیده برای مجموعه ها استفاده می شود. در اینجا می توانید درباره گواوا (به زبان انگلیسی) بخوانید .

6. google-gson

کتابخانه google-gson برای تبدیل اشیاء جاوا به JSON و بالعکس مفید است. این به ویژه هنگام توسعه برنامه های کاربردی تلفن همراه و ایجاد/استفاده از API های REST یا هر زمانی که نیاز به تبدیل یک شی جاوا به نمایش JSON آن دارید و بالعکس مفید است.
10 کتابخانه برتر جاوا برای صرفه جویی در زمان - 6
می‌توانید درباره google-gson (به زبان انگلیسی) اینجا بخوانید .

7. Hibernate-ORM

Hibernate یک کتابخانه است که برای حل مسائل مربوط به نگاشت شی - رابطه (ORM) طراحی شده است. Hibernate ORM برای ذخیره داده ها در پایگاه داده های رابطه ای استفاده می شود. این یک راه ساده تر و انتزاعی تر برای توسعه دهندگان برای انجام این کار فراهم می کند. در اجرای خود از JDBC استفاده می کند. Hibernate نیز پیاده سازی مشخصات JPA است.
10 کتابخانه برتر جاوا برای صرفه جویی در زمان - 7
می‌توانید درباره Hibernate ORM (به زبان انگلیسی) اینجا بخوانید .

8. موکیتو

اجازه ندهید نام موکیتو شما را گول بزند. این در مورد یک کوکتل نیست، بلکه در مورد یک کتابخانه برای اشیاء ساختگی است. اشیاء ساختگی اشیایی هستند که رفتار یک شی واقعی را طبق برخی از طرح های داده شده تقلید می کنند. به عنوان مثال، برای آزمایش واحد، چنین اشیاء "جعلی" می توانند رفتار اشیاء تجاری را شبیه سازی کنند. خوب، کتابخانه ساختگی Mockito راحتی ایجاد و استفاده از اشیاء ساختگی را افزایش می دهد.
10 کتابخانه برتر جاوا برای صرفه جویی در زمان - 8
در اینجا می توانید اطلاعاتی در مورد Mockito پیدا کنید .

9. JUnit

JUnit یک فریم ورک رایگان جاوا برای ایجاد تست های واحد (معروف به تست های واحد) است. این کتابخانه یکی از محبوب ترین هاست که تقریبا همه از آن استفاده می کنند. توصیه می کنیم در اسرع وقت با آن کنار بیایید، زیرا اغلب توسعه دهندگان جاوا و کارآموزان جدید جاوا مجبور می شوند "کد را با آزمایش بپوشانند." و، باید بگویم، این بدترین شروع یک حرفه است.
10 کتابخانه برتر جاوا برای صرفه جویی در زمان - 9
اطلاعات بیشتر در مورد Junit در اینجا .

10.Log4j و Slf4j

این دو فریم ورک برای پنهان کردن اجرای عملیات روتین برای ثبت رویدادهای خاصی که در حین اجرای برنامه های جاوا رخ می دهند، طراحی شده اند. Slf4j یک انتزاع برای سایر فریم ورک های لاگ است (همان Log4j).
10 کتابخانه برتر جاوا برای صرفه جویی در زمان - 10
اطلاعات بیشتر در مورد Log4j و Slf4j .
نظرات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION