Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

สรุปเนื้อหาเรื่อง Effective Android Development จากงาน DroidCon Berlin

$
0
0

android-productive-00

android-productive-00 ช่วงนี้ดู Slide และฟัง session ต่าง ๆ จากงาน DroidCon Berlin มี session ที่น่าสนใจเกี่ยวกับ Android เยอะเลย หนึ่งในนั้นคือ Effective Android Development ทำการอธิบายว่า นักพัฒนา software นั้น ไม่ใช่มีเพียงความรู้ความชำนาญในเรื่องนั้น ๆ เท่านั้น แต่ยังต้องรู้จักเลือกเครื่องมือให้เหมาะกับงานอีกด้วย
Android ก็เช่นกัน เพื่อเพิ่ม productivity ในการพัฒนาระบบ รวมทั้งทำให้ App ที่พัฒนามีความเสถียรมากขึ้น ไม่ใช่เพียงนั่งทำงานไปวัน ๆ เท่านั้น
มาดูกันว่ามีคำแนะนำดี ๆ อะไรบ้าง ?

เริ่มจาก Android Studio

ทำการตรวจสอบไฟล์ manifest ก่อนที่จะทำการ build ไฟล์ APK ด้วย Merged Manifest Viewer ซึ่งเป็น feature ที่มีมากับ Android Studio 2.2 ใช้งานง่าย ๆ แค่เปิดไฟล์ AndroidManifest.xml ก็จะเห็น tab Merged Manifest แล้วนะ แสดงผลการทำงานดังรูป android-productive-01 หัดใช้ Find Sample Code กันบ้างนะ !! สำหรับการเรียนรู้ API ใหม่ ๆ แน่นอนว่ามีมากับ Android Studio 2.2 นั่นเอง แสดงดังรูป android-productive-02 รู้กันไหมว่า Android Studio มันมี Local History นะ ตามจริงมันเป้นความสามารถของ IntelliJ IDEA นั่นเอง ถ้าเราต้องการอยากรู้ว่า code ในเครื่องเรามีการเปลี่ยนแปลงอะไรไปบ้าง (หลังจากการ commit) สามารถเข้าใช้งานโดยการ click ขวาที่ไฟล์นั้น ๆ จากนั้นทำการเลือก Local History หรือไปที่เมนู VCS -> Local History ก็ได้เหมือนกัน แสดงผลดังรูป android-productive-03 เมื่อทำการเปลี่ยนแปลง code และ resource ต่าง ๆ แล้วอยากเห็นผลเร็ว ๆ เป็นความเจ็บปวดระดับโลกของชาว Android แน่นอนว่า วิธีการแก้ไขปัญหาคือ ใช้เงินซื้อเครื่องแรง ๆ สิ แต่ในปัจจุบันก็มีเครื่องมือช่วยมากขึ้น (แต่ก็ยังต้องใช้เครื่องแรง ๆ อยู่ดี) ไม่ว่าจะเป็น JRebel และ Instant Run ทำให้เราเห็นผลการเปลี่ยนแปลงได้อย่างรวดเร็ว โดยที่ JRebel นั้นจะมีความสามารถมากกว่า แต่ก็ต้องแลกมาด้วยค่า licence นะครับ ซึ่งใน session ทำการสรุปข้อแตกต่างระหว่างทั้งสองไว้ดังนี้ android-productive-04

มาดูเครื่องมืออื่น ๆ ที่ช่วยในระหว่างการพัฒนาบ้างดีกว่า

เป้าหมายเพื่อช่วยวัดประสิทธิภาพในการทำงานของระบบ สิ่งที่ต้องรู้ก็คือ
  • จะวัดความเร็วในการทำงานอย่างไร ?
  • จะทำการแก้ไขและปรับปรุงอย่างไร ?
เริ่มด้วยการ debug และวิเคราะห์การทำงานในของแต่ละ method ด้วย Hugo กันเลย รวมทั้ง pidcat สำหรับดู log แบบง่าย ๆ จะได้ไม่ต้องมานั่งอ่าน log ใน logcat กันต่อไป เนื่องจากมันอ่านยากมาก ๆ ถ้าต้องการดูและวิเคราะห์ log จากระบบ Network ล่ะ จะทำอย่างไร ? เนื่องจาก App ส่วนใหญ่ต้องทำการผ่านระบบ network เสมอ ดังนั้นนักพัฒนาจะทำอย่างไรดีล่ะ ?
  • เปิด log ทั้งหมดในระหว่างการพัฒนาไปเลย แน่นอนว่าทำให้ performance ของระบบลดลง
  • ถ้าใน app ใช้ library ที่ต้องทำงานผ่านระบบ network แล้วต้องทำการแก้ไข configuration เพื่อให้แสดง log การทำงานออกมา
  • ในระหว่างที่ทีม Tester/QA ทำการทดสอบไม่มี console เพื่อดูผลการทำงานนะ ดังนั้นเราไม่สามารถ monitoring traffice ต่าง ๆ ได้เลย
คำถามคือ ทำอย่างไรดีล่ะ ? ตอบได้เลยว่ามีเครื่องมือช่วยเหลือนะ เช่น Charles Proxy และ Facebook Stetho ปล. เมื่อไรในไทยจะมีงานแบบนี้บ้างนะ !!

Viewing all articles
Browse latest Browse all 1997

Trending Articles