مجتمع Go يختار أفضل المكتبات لعام 2024: أفضل الأدوات للمطورين
تم الإعلان عن نتائج التصويت السنوي بين مطوري Go (Golang). اختار المجتمع أفضل المكتبات والأدوات التي ساعدت في بناء تطبيقات أسرع وأكثر موثوقية وسهولة في الاستخدام خلال العام المنصرم. شارك في الاستطلاع آلاف مطوري Go من جميع أنحاء العالم، بما في ذلك المشاركون النشطون من المجتمع الناطق بالروسية.
تم توزيع الفائزين على فئات رئيسية: أطر الويب، أدوات CLI، العمل مع قواعد البيانات، الاختبار ومعالجة الأخطاء. فيما يلي قائمة بأفضل المكتبات التي تم الاعتراف بها كالأكثر فائدة في عام 2024.
أطر الويب وAPI
- Fiber — حافظ على الصدارة كأسرع وأبسط إطار ويب، مستوحى من Express.js.
- Chi — موجه خفيف للخدمات المصغرة، حصل على تقييمات عالية لتوافقه مع المكتبة القياسية.
- Gin — يظل خيارًا شائعًا لواجهات REST API عالية التحميل.
العمل مع قواعد البيانات
- GORM — ORM للغة Go، تم اختياره كالأفضل لسهولة الاستخدام ودعم الترحيلات.
- pgx — مشغل لقاعدة بيانات PostgreSQL، تم الاعتراف به كالأكثر أداءً وموثوقية.
- Bun — عضو جديد في القائمة، عميل SQL حديث لـ PostgreSQL وMySQL وSQLite.
أدوات CLI وسطر الأوامر
- Cobra — المعيار الفعلي لإنشاء تطبيقات CLI، ولا يفقد مكانته.
- Viper — مكتبة متعددة الاستخدامات للعمل مع التكوين (JSON، YAML، env).
- Bubble Tea — إطار عمل لبناء واجهات TUI، يكتسب شعبية متزايدة.
الاختبار وجودة الكود
- Testify — يظل المفضل لاختبارات الوحدة والتأكيدات.
- Mockery — أفضل أداة لتوليد النماذج الوهمية (mocks).
- golangci-lint — تم الاعتراف به كأداة تحليل لا غنى عنها للحفاظ على جودة الكود.
أفضل مكتبة لعام 2024
وفقًا لنتائج التصويت، كان الفائز المطلق هو Fiber — حيث حصل على أكبر عدد من الأصوات في جميع الفئات. أشاد المجتمع بأدائها وسهولة الانتقال من لغات أخرى ووثائقها الممتازة. احتل pgx المركز الثاني، و GORM المركز الثالث.
تُستخدم هذه المكتبات بنشاط في بيئات الإنتاج من قبل شركات كبيرة، بما في ذلك Uber وTwitch وDropbox. يلاحظ المطورون أن نظام Go البيئي يستمر في النضج: تظهر أدوات مريحة للعمل مع التزامن (asynchrony) والمراقبة (observability) والخدمات المصغرة.
لمزيد من التفاصيل حول كل أداة، يمكنكم الاطلاع على الموقع الرسمي للتصويت والمستودعات على GitHub. للمطورين الناطقين بالروسية، تتوفر أيضًا ترجمات للوثائق وأمثلة الاستخدام على PythonLib.