ช่วงนี้ดู 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 แล้วนะ แสดงผลการทำงานดังรูป หัดใช้ Find Sample Code กันบ้างนะ !! สำหรับการเรียนรู้ API ใหม่ ๆ แน่นอนว่ามีมากับ Android Studio 2.2 นั่นเอง แสดงดังรูป รู้กันไหมว่า Android Studio มันมี Local History นะ ตามจริงมันเป้นความสามารถของ IntelliJ IDEA นั่นเอง ถ้าเราต้องการอยากรู้ว่า code ในเครื่องเรามีการเปลี่ยนแปลงอะไรไปบ้าง (หลังจากการ commit) สามารถเข้าใช้งานโดยการ click ขวาที่ไฟล์นั้น ๆ จากนั้นทำการเลือก Local History หรือไปที่เมนู VCS -> Local History ก็ได้เหมือนกัน แสดงผลดังรูป เมื่อทำการเปลี่ยนแปลง code และ resource ต่าง ๆ แล้วอยากเห็นผลเร็ว ๆ เป็นความเจ็บปวดระดับโลกของชาว Android แน่นอนว่า วิธีการแก้ไขปัญหาคือ ใช้เงินซื้อเครื่องแรง ๆ สิ แต่ในปัจจุบันก็มีเครื่องมือช่วยมากขึ้น (แต่ก็ยังต้องใช้เครื่องแรง ๆ อยู่ดี) ไม่ว่าจะเป็น JRebel และ Instant Run ทำให้เราเห็นผลการเปลี่ยนแปลงได้อย่างรวดเร็ว โดยที่ JRebel นั้นจะมีความสามารถมากกว่า แต่ก็ต้องแลกมาด้วยค่า licence นะครับ ซึ่งใน session ทำการสรุปข้อแตกต่างระหว่างทั้งสองไว้ดังนี้มาดูเครื่องมืออื่น ๆ ที่ช่วยในระหว่างการพัฒนาบ้างดีกว่า
เป้าหมายเพื่อช่วยวัดประสิทธิภาพในการทำงานของระบบ สิ่งที่ต้องรู้ก็คือ- จะวัดความเร็วในการทำงานอย่างไร ?
- จะทำการแก้ไขและปรับปรุงอย่างไร ?
- เปิด log ทั้งหมดในระหว่างการพัฒนาไปเลย แน่นอนว่าทำให้ performance ของระบบลดลง
- ถ้าใน app ใช้ library ที่ต้องทำงานผ่านระบบ network แล้วต้องทำการแก้ไข configuration เพื่อให้แสดง log การทำงานออกมา
- ในระหว่างที่ทีม Tester/QA ทำการทดสอบไม่มี console เพื่อดูผลการทำงานนะ ดังนั้นเราไม่สามารถ monitoring traffice ต่าง ๆ ได้เลย