วันเสาร์ที่ 25 มิถุนายน พ.ศ. 2559

Google I/O 2016 : Android Studio 2.2 , Espresso , Firebase , PWA , VR



วันที่ 25 มิถุนายน 2559 ที่ผ่านมา ท๊อปก็ได้ไปงาน Google I/O 2016 ที่ Siam Pavalai (Siam Paragon) ตอนลงทะเบียน ก็ได้เจ้า Google Cardboard มาเป็นของที่ระลึก...



เข้างานแล้ว... ก็มาแจกของกัน !!!


Google Cardboard รุ่นแรก 5555++


ซึ่งภายในงานก็มีสิ่งที่น่าสนใจมากมาย อาธิเช่น การเปิดตัว Android Studio 2.2 Preview 4 , Google Play Service , Firebase (พระเอกในงานเลย ตัวนี้) , Progressive Web Apps (PWA) แล้วก็ VR 360 องศา ซึ่งยังไม่เปิดตัวอย่างเป็นทางการในประเทศไทย อดใจรอสักนิสนึง...


โดยส่วนตัวผม ไปงานนี้ ถือว่าคุ้มนะ มีน้องที่บริษัทเดิมส่งรายละเอียดงานนี้มา ก็ลองไปดู ยอมรับว่า แรกๆ ตามไม่ค่อยทัน เนื่องจากไม่ได้จับ Android มาเกือบ 2 ปีและ แต่ได้มีโอกาสไปดาวโหลดมาเล่นบ้าง ลองสร้างโปรเจคเล่นๆ ศึกษา Coding แล้วก็เรียนรู้การทำงานกับ Genemotion ซึ่งก็ยอมรับว่า ตามไม่ทันจริงๆ แต่ในมุมมองของ Speaker ที่เป็น Expert ทางด้านนี้ หรือพวก Mobile Application Developer ทั้งหลาย ก็จะมองว่า ปีนี้ไม่ค่อยมีอะไรเปลี่ยนแปลงเท่าไหร่ อันนี้ถือว่าเป็นความคิดที่ดีกับตัวผมนะ เพราะผมเป็น Web Developer มา 2 ปี แต่สุดท้าย ก็ตามทันนะ เพราะหลังๆ เนื้อหาเริ่มสนุกขึ้น

....ตอนนี้ผมตามพวก Mobile Application Developer ทันแหละ 5555++

สำหรับการพูดของเหล่า Speaker ก็จะมีหัวข้อ ดังนี้

หัวข้อแรก : What's New in Android N (โดยพี่เนย GDG Thailand) : ก็จะพูดถึงคุณสมบัติที่ Android  N คือ เรื่องของการออกแบบ App ด้วยหลัก Constraint Layout (น่าสนใจมากๆ เพราะมันปฏิวัติการออกแบบหน้าจอในลักษณะลากวางอย่างสวยงาม ผมตั้งใจฟังเรื่องนี้เป็นพิเศษ... เพราะผมมีปัญหากับการออกแบบหน้าจอมาก จนเลิกเล่น Android ไปพักนึง) และส่วนหัวข้ออื่นๆ ก็จะมี เรื่อง การออกแบบให้หน้า App Split ไปมาด้วยหลัก Multi-window , การสร้าง Notification, การขยายหน้าจอ, Multi Locale, Data saver mode , การกำหนดการเข้าถึงของ Hardware, การ Support VR (อันนี้ก็น่าสนใจนะ)


และการพูดในส่วนอื่นๆ ก็จะมีเรื่อง...
-Vector Drawable (VD)
-RecyclerView
-Design Support Library
-Chrome Custom Tab
-Instant App

หัวข้อที่ 2 : Android Studio 2.2 และ New UI Design (โดยพี่ตี๋ GDG Thailand) : หัวข้อนี้พี่เขาได้แบ่งการพูดเป็น 4 หัวข้อหลัก คือ Design, Develop, Build และ Test

ก่อนที่จะเริ่ม เรามา Setup Android Studio 2.2 Preview 4 กันก่อนนะ... โดยให้เข้าไปที่ http://tools.android.com/download/studio เพื่อทดสอบของดีของ Google กัน




หลังจาก Download ลงมาเสร็จ ให้ไปที่ C:\Users\admin\...\android-studio\bin และคลิ๊กที่ studio64.exe เพื่อติดตั้ง SDK

กด Next เพื่อติดตั้ง


เลือก Standard


ตรวจสอบ Path และ SDK Component ก่อนที่จะติดตั้งลงไป





หลังจากติดตั้งเสร็จแล้ว ลองสร้างโปรเจคเองได้เลย....







คุณสมบัติของ Android Studio 2.2

1.) Design :
ข้อดี : 
-เลิกใช้ XML แล้วหันมาใช้ Layout Editor, Constraint Layout และ Layout Inspector
-สะดวกและรวดเร็ว แค่ลากวาง รู้จักการ join
-สร้างการทำงานของ App แบบ Responsive
-สร้าง Performance เนื่องเลิกใช้วิธีการซ้อน Component หลายๆ ชั้น เนื่องจากมองว่าทำให้ APK มีขนาดใหญ่ขึ้น ต่อไปจะมีวิธีที่ดีกว่านี้แล้ว เยี่ยมมากๆ
ข้อเสีย :
-Constraint Layout ตอนนี้อาจจะมี Bug เล็กน้อย แต่ถ้าเวอร์ชั่นนี้สมบูรณ์กว่านี้ ก็จะเป็นเครื่องมือที่ใช้จัด Layout ของ Android Apps ที่เยี่ยมมากๆ

2.) Develop :
-สอนการใช้งาน Firebase : https://firebase.google.com/

ต่อไปจากก็ไม่ต้องจ้าง Back-end Developer และนะ... เพราะมี Firebase ช่วยจ้า... 

-สอนการใช้งานจาก Sample Code : https://github.com/googlesamples
-สอนการใช้งานจาก Codelab : https://firebase.google.com/docs/test-lab/

3.) Build : 
-สอนเรื่อง Instant Run : เพิ่มประสิทธิภาพการ Build โดยไม่ต้อง Deploy APK ทุกครั้งที่ทำการเปลี่ยน Code แล้ว Run ทดสอบที่ Emulator
Reference : http://tools.android.com/tech-docs/instant-run

-Merge Manifest Viewer : สามารถตรวจสอบ Dependency ที่เพิ่มเข้าไปได้ ซึ่งจะแสดงการใช้งานไว้
-การใช้ Jack compiler เพื่อเพิ่มประสิทธิภาพการ Build

4.) Test :
-พูดเรื่อง Android Emulator มีลักษณะหน้าจอและการทำงานที่ใกล้เคียงกับของจริง

-การทดสอบ UI ด้วย Espresso
Reference : https://developer.android.com/training/testing/ui-testing/espresso-testing.html

-การ Monitor เพื่อดูขนาดของ APK สำหรับทดสอบ Performance ด้วย APK Analyzer


หัวข้อที่ 3 : Play Store Best Practise โดยคุณ Aun จาก GDG Thailand ฝ่าย Marketing ก็ได้มา Review วิธีทำการตลาดกับ Google Play เช่น
-เรื่องการเก็บเงินผ่านผู้ให้ผู้บริการ
-สร้างจุดเด่นและลบจุดด้อยของ App ตัวเอง
-การทำ Retention
-การออกแบบ Screen Shot, การกำหนดความน่าสนใจของ App, การสร้าง Contents, การสร้าง Ads
-การทดสอบการใช้งานของ App ด้วยวิธีแบบ Soft Launch
-การใช้ Keyword เพื่อส่งเสริมการ Search

หัวข้อที่ 4 : Advanced Espresso โดย Inaki Villar : บินมาจากสเปนเลยนะคนนี้
เขาก็ได้พูดถึงการทดสอบ UI ด้วย Espresso Framework ซึ่งประกอบด้วย จาก...
Link : Android Testing Support Library : https://google.github.io/android-testing-support-library/

ประกอบด้วย...

1. Android Junit Runner : https://developer.android.com/reference/android/support/test/runner/AndroidJUnitRunner.html
2. Espresso : https://google.github.io/android-testing-support-library/docs/espresso/cheatsheet/


3. UIAutomator : https://google.github.io/android-testing-support-library/docs/uiautomator/

หัวข้อที่ 5 : Firebase โดยพี่เนย พี่ตี๋ และพี่เอก จาก GDG Thailand : ได้มานำเสนอการใช้ Firebase ซึ่งต่อไปจะเข้ามาเป็นส่วนหนึ่งในเทคโนโลยี Back-end Server ทำหน้าที่ในการเก็บข้อมูลการ Login, การวิเคราะห์การใช้งาน Application และการใช้เทคโนโลยี Real Time Database โดยพี่เนย ก็ได้เกริ่นหลักการทั่วไปของ Firebase โดยเราสามารถสมัครเข้าใช้งานได้ ฟรี !!! และเรายังสามารถเข้าไปใน Console เพื่อทำเรื่องต่างๆ ได้ เช่น
-การเข้าถึงข้อมูล หรือ Authentication : เราสามารถเข้าไป set และ reset ข้อมูลการ login ของ User ได้
-การทำพวก DNS หรือ Hosting : เราสามารถใช้ NPM ในการจัดการเรื่องนี้ได้
-การเข้าไปที่ firebase.google.com เพื่อเอา Firebase มาใช้ในโปรเจคโดยใส่ SHA1
-เราสามารถเชื่อมต่อ Firebase กับ Android Studio เพื่อเรียกใช้ Service ที่เราต้องการได้ เพียงแค่ Click เดียว Code ทุกอย่างก็จะ Generate มาที่โปรเจคของเราเลย สุดยอดปะหละ !!!
-ลดการเขียน Code เพื่อเรียกใช้ Service ลงไปมาก เพราะ Firebase จัดการ Service ให้หมด
-การเก็บข้อมูลลง Database ใช้หลัก key-value
-เรื่องของ Cloud Messaging ที่จะเป็น Feature ไว้เพื่อส่ง Message และจะส่ง Notification ไปแสดงที่โทรศัพท์ของเราเพื่อรับส่งข่าวสาร ซึ่งหลักการทำงาน จะสามารถยิง Service ได้ 2 ทาง คือ ผ่านทาง Console ของ Firebase และผ่านทาง Application ที่ได้สร้างขึ้น และ Firebase ยังสามารถสร้าง Group เพื่อส่งข่าวสารได้ด้วย แถมยังสามารถส่งข่าวสารแบบ Stand Alone ได้อีกด้วยอะ เจ๋งมากๆๆๆ
-การทดสอบพวก Crash Reporting : พวกการตรวจสอบการทำงาน หรือ การ Error ของ Application
-การทำ Test Report และ การทำ Screen Shot อันนี้ยังเป็น Option ที่ยังเสียเงินอยู่ ไม่ฟรีนะจ๊ะ !!!
-การทำ Dynamic Link เพื่อส่งเสริมเรื่องการ Invite เพื่อนมาโหลด App ตัวเอง
-เรื่องการส่งข้อมูล เป็น Option นี้น่าสนใจ !!! ถ้า App ยังไม่ Online ข้อมูลก็จะเก็บไว้ที่เครื่องเราก่อน เมื่อ App Online แล้ว ข้อมูลทุกอย่างก็จะส่งไปที่ Server ทันที ว้าวววว... เจ๋งฝุดๆ

และสุดท้าย...พี่เขายกตัวอย่าง App Chat Room ที่ทำขึ้นมา เพื่อให้เห็นถึงความเก่งกาจของ Firebase ที่ทำงานแบบ Realtime สุดๆ (สามารถ Create Update Delete ได้เร็วฝุดๆ)

หัวข้อที่ 6 VR at Google โดยพี่วิทยา จาก GDG Thailand : หัวข้อนี้ก็ไม่ค่อยมีอะไรมาอัพเดตมาก ก็ได้พูดถึงที่มาของ VR ว่า มีการคิดมานานแล้วโดย NASA ตั้งแต่ปี 1990 แต่ยังไม่สำเร็จ จนกระทั่ง Google ได้นำมาพัฒนาต่อจนเกิด VR รุ่นแรก ซึ่งเป็นรุ่นเดียวกับที่ได้แจกในงาน Google I/O 2016 นั้นแหละ หลังจากนั้นก็ได้กล่าวถึงว่า ปัจจุบันก็มีบริษัทต่างๆ ทำ SDK มาให้ใช้พัฒนา เช่น Unity แต่ก็จะต้องมีการไป Convert เพื่อใช้งานอีก และในอนาคต VR ก็จะมีการพัฒนาให้มาคู่กับโทรศัพท์ของเราแล้วนะ โดยพี่เขาก็ได้เปิดงานของ Daydream ให้ดูกัน


Daydream Labs: Lessons Learned from VR Prototyping - Google I/O 2016


และอีกเรื่อง คือ Progressive Web App : ก็จะมีการพูดถึง การใช้งาน Toolkit : Web + Mobile Web App
นั่นคือ AngularJS 2, Polymer, SW-Toolbox, SW-Prefetch, Push notification, Service Worker

reference :
-Progressive Web Apps : https://developers.google.com/web/progressive-web-apps/
-AngularJS : https://angularjs.org/
-Polymer : https://www.polymer-project.org/1.0/
-Ionic Framework : http://ionicframework.com/

สุดท้าย !!! แหล่งข้อมูลจากทาง GDG Thailand ซึ่งจะมี Code Lab และ Slide สรุปให้ของทั้งงาน
https://github.com/Google-IO-extended-bangkok

What's new in aNdroid :
http://www.slideshare.net/nuuneoi/whats-new-in-android-google-io-extended-bangkok-2016

Advanced Espresso :
https://speakerdeck.com/cdsap/espresso-io-extended-bangkok

What's new in Android Studio 2.2 : https://docs.google.com/presentation/d/1XWvLcV1XlcB4llJri6agY3X6BsvT9p7N0QfzItjWvXg/edit?usp=sharing

Introduction to Firebase :
http://www.slideshare.net/nuuneoi/introduction-to-firebase-google-io-extended-bangkok-2016

Firebase Cloud Messaging : https://docs.google.com/presentation/d/1HPLk1PXaGUjqTlPB6RHsgrTunJNo10kbGZ-JX_7JELw/edit?usp=sharing

และนี่ก็คือสรุปเนื้อหาทั้งหมดในงาน Google I/O 2016 โดยพี่เนย GDG Thailand ครับ...


top.sk Web Developer

I can design web applications by using Java Server Faces (JSF), Primefaces, EJB3, SQL, DB2 (IBM) and designing report (Word, Excel and PDF) by using XML Script and Crystal Clear Report for the organization that can be easily and no problem for used and they can use the Web to manage the customer's organization effectively. I want to learn a new culture, technology and colleagues involved in the IT profession.

ไม่มีความคิดเห็น :

แสดงความคิดเห็น