Top 10 Android libraries to boost up your app development

20-May-22

คัมภีร์เทพ IT

See the original english version Click here!

 

ในฐานะ Android Developer คุณคงได้ใช้ Libraries เป็นจำนวนมากใน Applications ของคุณ อีกทั้งยังมี Libraries ต่าง ๆ ที่ช่วยให้พัฒนา App ได้รวดเร็วขึ้น, มีประสิทธิภาพมากขึ้น ด้วยการเขียน Code ที่น้อยลง และบทความนี้ก็เป็น 10 Android Libraries ที่ช่วยในเรื่องการพัฒนา App ของคุณ ซึ่งครอบคลุมในหมวดหมู่ต่าง ๆ ที่ใช้ในการพัฒนา Android Application

1. Retrofit

มี Android Applications จำนวนมาก ที่ต้องอาศัยการสื่อสารกับ Server หรือ Online Stored Database ซึ่ง Library ที่ได้รับความนิยมมากที่สุดก็คือ Retrofit โดยมันเป็น Type-Safe REST Client สำหรับ Android และ Java ก่อนหน้านี้ หากคุณต้องการส่ง Network Request คุณต้อง Execute AsyncTask Class จากนั้นใช้ HttpsUrlConnection เพื่อ Fetch Data ซึ่งอาจไม่ค่อยเหมาะเมื่อต้องจัดการกับ APIs ที่ Return Data ขนาดใหญ่ ซึ่ง Retrofit สามารถช่วยแก้ปัญหานี้ได้

GitHub: https://github.com/square/retrofit

2. Glide

หากคุณต้องการแสดง List ของรูปภาพจาก External Source แต่คุณกลับลงเอยด้วยรูปภาพที่ Load อย่างไม่ถูกต้อง หรือการ Load ที่ไม่รู้จบ คุณจะพบกับวิธีแก้ปัญหาได้ที่นี่ โดย Glide เป็นโปรแกรม Image Loader ที่ทรงพลังและเป็นหนึ่งใน Android Libraries ใหม่ที่ดีที่สุดสำหรับ Developers และ Google ก็ Recommend ให้ใช้เช่นกัน

Glide มีการรองรัง Animated GIF ในขณะที่จัดการกับ Image Loading และ Caching รวมทั้งช่วยในการ Fetching, Decoding และ Displaying Video Calls, Images และ GIF เหล่านี้ ซึ่งถือเป็น Features ที่มีประโยชน์มาก

Library นี้มีจุดมุ่งหมายหลักเพื่อให้ Scrolling Process สำหรับ List ของรูปภาพใด ๆ เป็นไปอย่างราบรื่นที่สุด นอกจากนี้มันเป็นการช่วยเรื่องประสิทธิภาพในกรณีที่คุณต้องการ Fetch, Resize หรือแม้แต่ Display รูปภาพแบบ Remote

GitHub: https://github.com/bumptech/glide

3. MPAndroidChart

MPAndroidChart เป็น Android Chart/Graph View Library ที่มีประสิทธิภาพ มันรองรับ View ในรูปแบบต่าง ๆ มากมาย เช่น Line, Bar, Bubble, Pie, Radar และ Candlestick Charts พร้อมทั้งสามารถ Scaling, Animations, และ Dragging

Library นี้ค่อนข้างง่ายต่อการใช้งานและการนำไป Integrate กับส่วนอื่น ๆ อีกด้วย อีกทั้งการมี View ที่สามารถ Customize ได้อย่างเต็มที่และ Features ที่หลากหลาย จะยิ่งทำให้คุณต้องรู้สึกทึ่ง

GitHub: https://github.com/PhilJay/MPAndroidChart

4. Room

ขณะนี้ Room ถือเป็นทางเลือกที่ดีกว่าสำหรับเรื่อง Data Persistence เมื่อเทียบกับ SQLiteDatabase มันทำให้การทำงานกับ SQLiteDatabase Objects ใน App ของคุณง่ายขึ้น, ช่วยลดจำนวน Code และการ Verify SQL Queries ในช่วง Compile Time

Library นี้มี API ที่ดีเยี่ยมซึ่งค่อนข้างคล้ายกับ Retrofit ดังนั้นเมื่อคุณใช้หนึ่งในนี้อยู่แล้ว คุณจะไม่มีปัญหากับการ Integrate และการ Setup พวกมัน ประโยชน์หลัก ๆ ของ Room Database คือความเรียบง่าย ซึ่งแตกต่างจาก ORMs อื่น ๆ ที่มี APIs ที่ค่อนข้างซับซ้อนกว่ามาก ซึ่งคุณจำเป็นต้องอ่าน Documentation ทั้งหมดอย่างละเอียดก่อนจึงจะใช้งานได้

คุณจะสามารถทำความเข้าใจ Room ได้ง่ายอย่างไม่น่าเชื่อ อีกทั้งมันทำงานรวดเร็ว และช่วยประหยัดเวลาของคุณในขณะพัฒนา App ได้อย่างแน่นอน

Android Officialhttps://developer.android.com/training/data-storage/room

5. Android KTX

Android KTX คือ Set ของ Kotlin Extensions ที่ได้รวบรวม Android API ไว้ และทำให้น่าใช้และใช้งานง่ายยิ่งขึ้น ได้มีการเพิ่ม Features และ Methods ใหม่ ๆ ที่ยอดเยี่ยมของ Kotlin เข้าไป เช่น Named Parameters, Lambdas และ Default Parameter Values

Library นี้ได้เปลี่ยนวิธีที่เราใช้ Android API และด้วยเหตุนี้ Library นี้จึงควรกลายเป็นแกนหลักของ Android Application ที่ถูกเขียนขึ้นด้วย Kotlin แต่ Library นี้ก็มีข้อเสียอยู่อย่างหนึ่ง คือ การดู Code ของ Library ซึ่งเป็นวิธีเดียวที่จะทำให้คุณได้เรียนรู้เกี่ยวกับ Features ทั้งหมดที่มีให้ เมื่อใดที่คุณมีความเชี่ยวชาญแล้ว คุณจะเห็นว่า คุณจะประหยัดเวลาได้มากแค่ไหนในระหว่างการ Develop

Android Officialhttps://developer.android.com/kotlin/ktx

6. Lottie

Android Application Developer ทุกคนคงต้องการให้ App ของตนเองเป็นมิตรกับผู้ใช้มากที่สุดด้วย UI และ Animations ที่ยอดเยี่ยม ส่วนใหญ่พบว่า Animations สร้างและบำรุงรักษาได้ยาก ดังนั้นพวกเขาจึงหลีกเลี่ยง นี่คือห้องสมุดที่ยอดเยี่ยมแห่งหนึ่งที่สามารถช่วยได้ 

Lottie เป็นหนึ่งใน Android Development Libraries ที่แยกวิเคราะห์ Adobe After Effects Animations ที่ Export เป็น JSON ด้วย Bodymovin และแสดงผลบน Mobile ด้วย Lottie จะช่วยให้ Designers สามารถสร้าง Animations ที่สวยงามโดยไม่ต้องให้ Engineer ต้องมานั่งสร้างใหม่ อีกทั้ง Library นี้ยังช่วยให้ Developer สามารถทำงานแบบย้อนกลับไป-มาได้ ที่สำคัญที่สุดคือ มันช่วยให้ Program Animation ตอบสนองต่อ Interact ต่าง ๆ ที่เกิดขึ้นได้

GitHub: https://github.com/airbnb/lottie-android

7. Android FastScroll

น่าจะมีหลายคนที่เคยเห็นสิ่งนี้แล้ว แต่อาจไม่เคยคิดเกี่ยวกับการนำมันไปใช้งานจริง ไม่มี Official Component หรือ Google Library สำหรับสิ่งนั้น แต่โชคดีที่เราสามารถ Customize ได้เอง

Library นี้ได้เพิ่มในส่วนการ Scroll อย่างรวดเร็วสำหรับ RecyclerView และเพิ่มในส่วนการ Customize เพิ่มเติมสำหรับการ Track, Thumb, Popup, Animation และ Scroll ส่วนการใช้งานก็ค่อนข้างสะดวกเช่นกัน

GitHub: https://github.com/zhanghai/AndroidFastScroll

8. Broccoli

มีหลาย Android Applications ที่ใช้ Full-Screen Loading Screen หรือ Progress Dialog เมื่อจำเป็นต้องอัปเดต UI จาก Database หรือแยกวิเคราะห์ Server Result หลังจากส่ง Request สำเร็จ แต่มีวิธีที่ Clean และดีกว่าในการทำเช่นนี้โดยใช้ Broccoli Library

Library นี้ช่วยให้คุณสามารถแสดง Animated (หรือ Static) Placeholder ของ View ที่ดีเยี่ยมเมื่อคุณ Load บางอย่าง นอกจากนี้ Library นี้ยังสามารถใช้ร่วมกับ RecyclerView ได้ และใช้งานได้ง่ายอีกด้วย

GitHub: https://github.com/samss/Broccoli

9. Volley

อีกหนึ่ง Library ที่เป็นที่รู้จักกันดีในหมู่ Android Developers ก็คือ Volley ซึ่ง Volley เป็น HTTP Library ที่ทำให้การสร้างเครือข่ายสำหรับ Android App ทำได้ง่ายขึ้นและที่สำคัญที่สุดคือ มันเร็วขึ้น Volley มันไม่ใช่สิ่งที่จำเป็นสำหรับ Streaming Operations หรือการ Download ที่มีขนาดใหญ่ เพราะมันเก็บ Responses ทั้งหมดไว้ในหน่วยความจำในระหว่างการแยกวิเคราะห์ (Parse) ดังนั้น คุณอาจจะต้องใช้ทางเลือกอื่น อย่าง DownloadManager

แต่มันก็มีประโยชน์อื่น ๆ อีกหลายข้อ เช่น:

  • Automatic Scheduling สำหรับ Network Requests
  • Multiple Concurrent Network Connections
  • รองรับ Request Prioritization
  • มีการเรียงลำดับที่รัดกุม ทำให้ง่ายต่อการ Populate UI ของคุณอย่างถูกต้องด้วย Data ที่ Fetch มาจาก Network
  • และอื่น ๆ อีกมากมาย…

Android Official: https://developer.android.com/training/volley

10. Firebase

สุดท้ายนี้ เรามี Toolset โดย Google ซึ่งมีเป้าหมายเพื่อช่วยให้ Developers สร้าง, ปรับปรุง และพัฒนา App ของพวกเขาเอง มันมี Services ส่วนใหญ่ที่ Developers จะต้องสร้างด้วยตัวเอง แต่ตอนนี้มันง่ายกว่าเดิม โดย Firebase มีสิ่งต่าง ๆ เช่น Analytics, Databases, File storage, Push messaging, Crashlytics และอื่นๆ อีกมากมาย

Firebase Official: https://firebase.google.com

Bonus: Localazy Android Library

นอกจากนี้ ยังมี Localazy Android Library หากคุณกำลัง Translate Android App ด้วย Localazy อยู่แล้ว การใช้ Library จะช่วยให้คุณสามารถปรับปรุง Users Experience และได้อาสาสมัครเพิ่มขึ้น

Localazy Android Library จะแปล App ในทันที, อัปเดตการ Translate, รวบรวม และส่ง Anonymous Statistics อีกทั้งยังมี Methods เพิ่มเติมที่ช่วยในการควบคุมวิธีการ Translate App ของคุณ

คุณสามารถทำตามคำแนะนำเกี่ยวกับ วิธีเริ่มต้นใช้งาน Localazy สำหรับ Android ได้ที่นี่

ที่มา:  https://medium.com/

 

 

รับตำแหน่งงานไอทีใหม่ๆ ด้วยบริการ IT Job Alert

 

อัพเดทบทความจากคนวงในสายไอทีทาง LINE ก่อนใคร
อย่าลืมแอดไลน์ @techstarth เป็นเพื่อนนะคะ

เพิ่มเพื่อน

 

บทความล่าสุด