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

[Part 1] สรุปสิ่งที่น่าสนใจจากงาน Google I/O 2016 Extended Bangkok

$
0
0

io-00

io-00 วันนี้ไปร่วมงาน Google I/O 2016 Extended Bangkok เป็นงานที่สรุปเนื้อหาต่าง ๆ จากงาน Google I/O 2016 มาให้อย่างเต็มอิ่ม อาจจะบอกได้เลยว่าข้อมูลมันเยอะมาก ๆ (Information Overflow) โดยเนื้อหาประกอบไปด้วย
  • Google Assistant
  • Google Home
  • Mobile Development
  • Web Development
แต่ในงานครั้งนี้ผมเลือกที่จะฟังเฉพาะ Mobile Development เท่านั้น มาดูว่ามีอะไรที่น่าสนใจบ้าง ?

1. มาดูความสามารถต่าง ๆ ของ Android N

io-02 โดยมี session นี้จะทำการแนะนำความสามารถใหม่ ๆ ทั้งสำหรับ Android development และ Android N ขอบอกเลยว่ามันเยอะมาก ๆ เช่น
  • Constraint Layout ซึ่งต่อไปน่าจะเป็น layout หลักของการพัฒนา App เหมือนกับ Auto Layout ใน iOS เลยนะ
  • Multi-window หรือ Split screen สิ่งที่ต้องสนใจมาก ๆ คือการจัดการ Life cycle ของ Activity ให้ดี มิเช่นนั้นต้องแก้ไขกันวุ่นวาย !!
  • Picture-in-Picture mode ใน TV ซึ่งสามารถ Drag & Drop รูปข้าม Activity หรือหนาจอได้
  • Notification รูปแบบใหม่ทั้ง template, custom view และ direct reply ที่ iOS ทำได้นานล่ะ !!
  • ในส่วน Setting ของ Android phone เช่น
    • Display size คือสามารถขยาย size ของทั้งหน้า ไม่ใช่เฉพาะ font ทำให้ App สวยขึ้น
    • Quick setting
    • Multi Locale
  • Doze ใน Android N หรือโหมดหลับลึกของ Android เพื่อช่วยทำให้มือถือประหยัด Batt เมื่อไม่ใช้งาน เป็นเรื่องที่นักพัฒนาต้องเรียนรู้และเข้าใจ
  • Project Svelte แปลว่าผอมเพรียว เพื่อปรับปรุงให้ Android สามารถทำงานบน hardware หรือ อุปกรณ์ที่เก่า ๆ หรือ spec ต่ำ ๆ ได้ ทั้งลดการใช้งาน RAM และ Batt นั่นเอง โดยงานหลาย ๆ อย่างจะถูกตัดทิ้งเช่น CONNECTIVITY_ACTION, ACTION_NEW_PICTURE และ ACTION_NEW_VDO ซึ่งให้ไปใช้งานผ่าน JobScheduler ที่เป็น background process แทน
  • Data saver mode ใน Android N ช่วยลดจำนวน data ที่ใช้งานของ App
  • Direct boot ปรับปรุงการทำงานของ app เมื่อเครื่องทำการ reboot ขึ้นมาใหม่
  • Scoped Directory Access เป็นการกำหนด permission ในการเข้าถึง external storage บนเครื่องจาก App ซึ่งสามารถกำหนดเฉพาะ directory ที่ต้องการเท่านั้น เนื่องจากในรูปแบบเดิมสามารถเข้าถึงได้ทั้งหมดเลย ซึ่งน่ากลัวมาก ๆ เป็นการปรับปรุงที่ดีมาก ๆ
  • ว่าด้วยเรื่องของ Vulkan ซึ่งเป็น 3D render ใหม่ซึ่งเหมือน ๆ กับ Open GL นั่นเอง
จากนั้นมาเรื่องที่เกี่ยวกับ Development กันบ้าง ซึ่งก็มิใช่น้อยหน้าไปกว่ากันเลย
  • ADB shell ที่ทำงานรวดเร็วขึ้น นั่นแสดงว่าติดตั้ง App ได้เร็วขึ้น
  • NDK ตัวใหม่
  • สนับสนุน VR หรือพูดง่าย ๆ คือ 3D mode นั่นเอง
  • ตัวที่สำคัญมาก ๆ สำหรับนักพัฒนาคือ Support Library แน่นอนว่าพลาดไม่ได้เลย เช่น
    • Vector Drawable (VD) ช่วยทำให้ขนาดของ App เล็กลง ซึ่งมีความสำคัญอย่างมาก
    • การเลือกใช้การบีบอัดของรูปภาพมันสำคัญมาก ๆ ทั้ง VD -> WebP -> PNG -> JPG
    • Night mode
    • ใช้งาน RecyclerView เป็นหลักเลยนะ
    • Design Support Library คือสิ่งที่นักพัฒนาอย่าพลาดนะ
    • Bottom sheet
    • Chrome Custom Tab
io-03 ยังไม่หมดนะ มี Instant App มาอีก ทำให้ผู้ใช้งานสามารถใช้งาน App ได้โดยไม่ต้องติดตั้ง ถือว่าเป็น killer feature ของ Android เลยก็ว่าได้ แต่มันก็ส่งผลกระทบต่อนักพัฒนาไม่น้อยนะ เนื่องจากต้องทำการ build app แยกออกมานิดหน่อย และตอนนี้ยังเป็น beta อยู่ซึ่งสามารถขอทดสอบใช้งานได้นะ พักหายใจหายคอกันหน่อยนึง ....

2. มาดูความสามารถใหม่ ๆ ของ Android Studio 2.2

ขอบอกอีกแล้วว่า มันเยอะมาก ๆ โดยแบ่งออกเป็น 4 กลุ่มใหญ่ ๆ คือ
  1. Design
  2. Develop
  3. Build
  4. Test
io-01 มาดูกันว่าในแต่ละกลุ่มมีอะไรที่น่าสนใจกันบ้าง กลุ่มที่ 1 :: Design ประกอบไปด้วย Layout Editor, Constraint Layout และ Layout Inspector ซึ่งทำให้การออกแบบ UI ของ APP ง่าย สะดวกและรวดเร็วขึ้นมา รวมทั้งปรับปรุงเรื่องของ Responsive และ Performance อีกด้วย เนื่องจาก Constraint Layout ช่วยลดความซับซ้อนของ View ลงไปอย่างมากนั่นเอง ชีวิตของนักพัฒนาน่าจะดีขึ้นกว่าเดิมมาก ๆ ที่ต้องมานั่งแก้ไขไฟล์ XML กันเลย กลุ่มที่ 2 :: Develop ประกอบไปด้วย
  • เริ่มด้วยตัวทีเด็ดคือ Firebase plugin ช่วยทำให้การพัฒนา App มันง่ายและสะดวกขึ้นอย่างมาก
  • Sample code browser ช่วยทำให้นักพัฒนาสามารถดูตัวอย่าง code สำหรับการใช้งาน API ต่าง ๆ จาก Google Sample
กลุ่มที่ 3 :: Build ประกอบไปด้วย
  • Instant Run ซึ่งตอนนี้ทำการปรับปรุงดีขึ้นอย่างต่อเนื่อง ทำให้การ build project รวดเร็วขึ้น (ใครปิดไว้ ก็เปิดซะนะ !!)
  • Merge Manifest Viewer
  • Project Structure Dialogue ยังไม่ออกมาให้ใช้นะ !!
  • ปรับปรุง Jack compiler ช่วยทำให้ใช้การ build รวดเร็วขึ้น แต่จากการใช้งานจริง ๆ ยังไม่ดีเท่าไรนัก !!
กลุ่มที่ 4 :: Test ประกอบไปด้วย
  • การปรับปรุง Android Emulator ให้ดีขึ้นเป็นอย่างมากรวมทั้งความสามารถครบครัน ทำให้ไม่ต้องไปใช้ Emulator อื่น ๆ แล้ว แถมยังบอกว่าเร็วกว่า device จริงอีกนะ !!
  • Espresso Test Recorder ช่วยทำให้การทำสอบ UI ง่ายขึ้น ซึ่งมีใน Android Studio 2.2 Preview 3 ขึ้นมานะครับ
  • APK Analyzer ช่วยทำให้เราวิเคราะห์ไฟล์ APK ว่าเป็นอย่างไร เช่นขนาดของไฟล์ จำนวน method และขนาดของ resource ต่าง ๆ ทำให้เราสามารถรู้ปัญหาและหาทางแก้ไขได้ง่ายขึ้น
  • Firebase Test Lab ช่วยทำให้เราสามารถทดสอบ App ได้เลย แต่ต้องเสียเงินนะ !!

ปล. มีข้อมูลเกี่ยวกับ Web Development นิดหน่อยคือ Progressive Web App (PWA)

เน้นย้ำว่า เป็นแนวคิดที่น่าสนใจมาก ไม่ใช่เครื่องมือ หรือ เทคโนโลยีอะไร โดยที่ PWA ประกอบไปด้วยความสามารถต่าง ๆ ดังนี้
  • Push notification
  • Service Worker
  • Tool ประกอบไปด้วย Angular Mobile Toolkit, Polymer App Toolkit และ SW-Toolbox, SW-Prefetch
  • ทำงานร่วมกับ 3-parties ต่าง ๆ ได้ เช่น ionic framework
 
ยังมีการสรุปใน Part 2 ไว้อีกเรื่อง Espresso UI Test และ Firebase

Viewing all articles
Browse latest Browse all 2069

Trending Articles