Forem

Cover image for มาจัดการ Dependencies ของเจ้า Firebase SDK ด้วย BoM กันเถอะ
H2o
H2o

Posted on

2

มาจัดการ Dependencies ของเจ้า Firebase SDK ด้วย BoM กันเถอะ

ปัญหาเวลาเรา implement SDK ของ Firebase

คิดว่าทุกๆคนที่เป็น Android dev น่าจะเคยเจอปัญหาหรือปวดหัวมาบ้างเวลาเราใช้งาน sdk ของ firebase แต่ละตัว ที่เลข version ไม่เคยตรงกันเลย แถมบางครั้งพอเรา update version ของตัวหนึ่งแล้วมันดันทำงานไม่เข้ากันกับ sdk อีกตัวซะนี่ โดยเฉพาะคนที่ชอบลองของใหม่ๆ(เห็นมี update ไม่ได้ต้องชิง update ก่อนแต่ดันไม่ชอบอ่าน changelog ซะนี่ฮ่าๆ)

มาดูของเก่าที่เราเคยใช้ๆกันก่อน

ปกติแล้วเราก็จะประกาศเหมือนในรูปด้านล่างนี้กันแล้วก็ระบุเลข version กันไปตามแต่ละตัว ทีนี้เวลาเราจะ update เราก็ต้องไปแก้เลข version ของแต่ละตัวกันเนอะ
Alt Text

โอเค ทีนี้มาทำความรู้จัก Bills of Material (BoM) กัน

BoM ถูกเพิ่มเข้ามาใน Gradle ตั้งแต่ version 5.0 ขึ้นไป
รายละเอียดอ่านเพิ่มเติมได้ที่นี่

ซึ่งทาง Google เองเค้าก็น่าจะเห็นถึงความ Pain ของเราๆ เลยทำตัวจัดการ dependencies เพื่อรองรับการเรียก dependencies จากที่เดียว โดยให้เราเรียกใช้อีกทีหนึ่งนั่นเอง โดยที่เจ้า BoM มันจะไปทำการดึง SDK ตามที่เราประกาศไว้มาให้เราโดยที่เราไม่จำเป็นต้องระบุ version ของ SDK แต่ละตัวเอง เจ้า BoM มันจะไปหา version ของ SDK แต่ละตัวที่เราประกาศไว้ที่สามารถทำงานร่วมกันได้มาให้ เรามีหน้าที่แค่ประกาศ version ของตัว BoM เท่านั้นจบเลย(BoM รองรับ KTX ด้วย) แจ่มสุดๆ
รายละเอียดของเจ้า BoM สามารถอ่านเพิ่มเติมได้ที่นี่นะ

Release note
Release Note ของเจ้า BoM

ตัวอย่างเช่นรูปนี้
Alt Text

และอันนี้คือตอนที่นำไปใช้งานจริงๆ
Alt Text

เท่าที่ลองใช้งานมายังไม่เจอปัญหาอะไรนะ หวังว่าบทความนี้จะเป็นประโยชน์กับผู้อ่านไม่มากก็น้อย อันนี้เป็นบทความแรกด้วยผิดพลาดยังไงแนะนำและติชมกันได้นะฮะ

Do your career a favor. Join DEV. (The website you're on right now)

It takes one minute, it's free, and is worth it for your career.

Get started

Top comments (0)

Image of Datadog

The Essential Toolkit for Front-end Developers

Take a user-centric approach to front-end monitoring that evolves alongside increasingly complex frameworks and single-page applications.

Get The Kit

👋 Kindness is contagious

Engage with a sea of insights in this enlightening article, highly esteemed within the encouraging DEV Community. Programmers of every skill level are invited to participate and enrich our shared knowledge.

A simple "thank you" can uplift someone's spirits. Express your appreciation in the comments section!

On DEV, sharing knowledge smooths our journey and strengthens our community bonds. Found this useful? A brief thank you to the author can mean a lot.

Okay