เห็นว่า GitHub ได้ประกาศว่า ปล่อย GitHub app for mobile ออกมา
ซึ่งพัฒนาด้วย Native app เลย
ดังนั้นมาแกะดู GitHub app for Android กันหน่อย
ว่าพัฒนาด้วยอะไรบ้าง
จากการไป download และลองเข้าไปลอง reverse engineer
ไฟล์ APK จะเป็นแบบ Multiple APK
ขนาดของ APK เพียง 6 MB เท่านั้นเอง
ส่วนการพัฒนาจะใช้เครื่องมือและ library ต่าง ๆ ดังนี้
- ใช้ภาษา Kotlin และใช้งาน AndroidX library
- ติดต่อไปยัง RESTFul API ด้วย OkHTTP 3
- จัดการแสดงรูปภาพด้วย Glide
- Push notification ใช้งาน Firebase ตามระเบียบ
- ใช้งาน Firebase analytic และ Crashlytic ตามปกติ
- เรื่องของการจัดการเวลาใชข้งาน Joda Time
ในส่วนของการ Authentication จะสร้างเป็น Service ขึ้นมา
โดยในงานส่วนนี้จะประกอบไปด้วย
- addAccount
- confirmCredentials
- getAuthToken
- hasFeatures
- updateCredentials
ส่วนของ permission ที่ขอไว้มีดังนี้
[gist id="87d20c4528b0a8659287df8e33dabe36" file="permission.xml"]ในส่วนของ Activity จะแบ่งออกเป็นเรื่องต่าง ๆ
ยกตัวอย่างเช่น
- SplashActivity
- RepositoriesActivity
- RepositoryActivity
- UsersActivity
- SearchResultsActivity
- SettingsActivity
- PullRequestReviewActivity
- CreateIssueActivity
- CommitActivity
- CreateIssueRepoSearchActivity
โดยในแต่ละ Activity จะมี fragment แยกกันไป
ส่วน View อะไรที่ใช้งานร่วมกัน จะแยกออกไปในส่วนของ View กลางอีกที
เป็น App ที่ใช้งาน library ตามปกติ ไม่มีอะไรที่แปลกใหม่มากนัก
เนื่องจากเป็นเหมือน UI สำหรับอีก device เท่านั้นเอง