"ประสบการณ์เป็นครูที่ดีที่สุด"
รู้จัก BlackBerry 10 ในมุมนักพัฒนา
3 May 2012 01:05   [28685 views]

เมื่อวาน RIM สร้างเสียงฮือฮาให้วงการมือถือโลกได้เป็นผลสำเร็จ หลังจากเปิดตัว BB10 อย่างเป็นทางการ (จริงๆเปิดหลายรอบแล้ว แต่รอบนี้มาพร้อม Device เลย) ซึ่งปรากฎว่าทำออกมาได้ดีกว่าที่คิด ต้องปรบมือให้ทีม TAT ที่ RIM ซื้อไปจริงๆ ที่ทำให้ UI ของ OS ใหม่นี้เจ๋งและน่าใช้มาก


และแน่นอน ด้วยการเป็นโปรแกรมเมอร์มือถือมือซน ก็เลยโหลด SDK มาเล่นทันที ... ไม่ได้มีอารมณ์นี้นานแล้ว เมื่อวานเลยรู้สึกดีชะมัด ได้เล่นของใหม่ๆ


มี Development Tools อะไรให้โหลดบ้าง

ในหน้าดาวน์โหลดของ Cascades มีให้โหลดอยู่สามอันด้วยกัน ได้แก่ BlackBerry Native SDK 10.0.4 beta

อันนี้เป็น SDK อันประกอบด้วย IDE และ Compiler (C/C++/Qt) ที่ถูกสร้างอยู่บน Eclipse มีตัวนี้ก็จะเขียนโปรแกรมได้ Compile ได้ แต่ทดสอบไม่ได้ จะทดสอบต้องใช้ Emulator หรือเครื่องจริงที่รันระบบปฏิบัติการ BB10 (10.0.4) ไว้ ซึ่งตอนนี้มีแต่เครื่อง Dev Alpha ที่แจกผู้เข้าร่วมงาน BlackBerry World / BlackBerry 10 Jam เท่านั้น

แน่นอนว่าสิ่งที่หาได้ง่ายกว่าและได้กันทุกคนคือ Emulator ดังนั้นในหน้า Downloads จึงมี Dev Alpha Emulator มาให้ด้วย

โดยมันคือระบบปฏิบัติการตัวเดียวกับบนเครื่อง BlackBerry 10 Dev Alpha ที่แจกนั่นแหละ แต่อันนี้จะมาเป็น Virtual Image ที่ทำงานบน VMWare อันนี้ก็ไปโหลด VMWare Play มาได้เลย เป็นเวอร์ชั่นฟรี ใช้งานได้ทุกฟังก์ชั่น

ที่น่าประทับใจสำหรับ Emulator ตัวนี้คือมันสนับสนุน Hardware Graphics Acceleration ด้วย ดังนั้นบอกได้เลยว่าลื่นมากกกกกกกกกกกกกกกก ต่างกับตัวเก่าโดยสิ้นเชิง ใครพานพบประสบการณ์แย่ๆกับตัวเก่า ลองตัวใหม่ดู เจ๋งขึ้นเยอะ ^^ ... แต่ก็อย่าคาดหวังว่าจะมีอะไรเยอะนะ มีแค่แอพฯ Browser ตัวเดียว กับ Settings ที่ตั้งค่าโน่นนี่ได้ แค่นั้น เหะๆ

ยัง ยัง ยังไม่หมด Tools สุดท้ายมีชื่อว่า Cascades Exporter เป็น Plugins ของ Adobe Photoshop ที่เราสามารถสั่ง Exports เลเยอร์ต่างๆใน Photoshop ออกมาเป็น QML แล้วเอาไปใช้ในการเขียนโปรแกรมใน Cascades ได้ทันที ! สุดยอดดดดดดดดดดดดด อันนี้ขอปรบมือให้ RIM นายเข้าใจ Dev นายเจ๋งหวะ


PlayBook OS ตัวน้อย + Cascades UI + MeeGo + webOS = BlackBerry 10

การจะอธิบายว่า BlackBerry 10 คืออะไร เป็นยังไง นั้นไม่ยากเลย เพราะมันเป็นการรวมสิ่งต่างๆที่มีอยู่แล้วบนโลกนี้เข้าไว้ด้วยกัน โดยพื้นของมันเลย มันอยู่บน QNX OS ที่อยู่บน PlayBook ตัวปัจจุบันนั่นเอง (ดูจากภาพด้านบนก็คงรู้ หน้าเหมือน OS 2.0.1 เลยเป๊ะๆ) แต่ตัวปัจจุบันเป็นเวอร์ชั่น 2.0.1 ส่วน BB10 เป็นการพัฒนาต่อจนเป็นเวอร์ชั่น ... 10 ! (เวอร์ชั่นกระโดดข้ามเร็วเว้ย) เวอร์ชั่นล่าสุด ณ นาทีนี้คือเวอร์ชั่น 10.0.4 ขอรับ

Resolution ที่วัดได้คือ 1280x768 ละเอียดกว่า Playbook ซึ่งละเอียด 1024x600 เล็กน้อย แต่ได้ยินมาว่า PlayBook จะสามารถอัพเกรดเป็น BB10 ได้เช่นกัน ดังนั้นนักพัฒนาทั้งหลาย ขอให้ทำใจไว้ว่า BB10 มี Fragmentation หลายสายแน่นอน .. เพราะที่แน่ๆมันใช้ได้บนมือถือและ Tablet ความละเอียดหน้าจอไม่เหมือนกันแน่นอน (แต่ตอนแรกๆน่าจะมีแค่ Resolution เดียวแหละ)


แต่ถ้าได้ดู Keynote จะรู้ว่า UI มันไม่เหมือนกับบน PlayBook เหมือนที่โชว์ด้านบนนี้ ก็เพราะว่ามันถูกครอบด้วย Cascades UI นั่นเอง

ว่ากันถึง Cascades UI ถามว่ามันเหมือนอะไร? ต้องบอกว่า UI มันคือ MeeGo + webOS เลยแหละ คือเน้นเรื่อง Swipe ลากไปลากมาด้วยมือเดียว ส่วน UI มีความโค้งมนเหมือน webOS สรุปคืองามครับ

ซึ่งตรงนี้จะยังไม่มีมาใน Dev Alpha คิดว่าคงรอให้สมบูรณ์กว่านี้อยู่กระมัง ตอนนี้ก็ใช้ UI เดียวกับ Playbook ไปก่อน~~~~


Cascades คืออะไร?

จากใจ ก่อนหน้านี้ไม่เคยเข้าใจว่า Cascades คืออะไร จนกระทั่งเมื่อวานนี้ที่ได้ดูวีดีโอและลองเล่นอะไรนิดหน่อย จึงได้รู้ว่าจริงๆ Cascades ก็คือ UI Component Library ที่ถูกพัฒนาขึ้นมา และส่วนหนึ่งถูกนำไปพัฒนาต่อเป็น Cascades UI เพื่อเอาไปใช้เป็น Home Screen และส่วนต่างๆของระบบปฏิบัติการ ส่วน Library ก็เปิดไว้ให้นักพัฒนาสามารถนำ Component ไปใช้เขียนโปรแกรมต่อเป็นแอพฯของตัวเองได้นั่นเอง โดย Cascades เป็น Library ดังนั้นจึงจะทำงานแบบ Native ซึ่งแน่นอน มันจะเร็วมาก แต่ด้วยการที่มันเป็น Qt มันก็อาจจะต้องใช้เวลานิดหน่อยตอนโหลด QML ขึ้นมาตอนแรก


มาพร้อม "นวัตกรรม"

ถึงครั้งนี้จะชัดเจนว่า RIM ย้ายตัวเองมาอยู่บนมือถือทัชสกรีนไร้คีย์บอร์ดเต็มตัว เป็นการตามหลัง iPhone และ Android ไปหลายปี แต่จะบอกว่าเป็นแค่ Just Another Touch Screen Phone ก็ไม่ได้เต็มปาก เพราะ RIM จัด "นวัตกรรม" มาหลายส่วนในระบบปฏิบัติการเหมือนกัน


Magic Moment

กล้องถ่ายภาพ สามารถถ่ายภาพแล้วเปลี่ยนภาพเป็นบางส่วนได้ เช่นถ่ายภาพแล้วมีคนหลับตา ก็สามารถเปลี่ยนให้ลืมตาได้

จะบอกว่าเป็นนวัตกรรมที่เจ๋งมาก ถึงจะเคยเห็นมาบ้าง แต่ก็ไม่ค่อยเห็นใครเอามาใช้จริง ที่เหลือก็คืออยากรู้ว่ากล้องชัดรึเปล่า ถ้าไม่ชัดก็จบอยู่ดี ... ป่ะ


Prediction Keyboard

ก็เป็นวิธีเดาคำอีกวิธีนึง โดยใช้วิธีการพิมพ์ๆๆๆแล้วก็ Swipe ขึ้นบนเพื่อเลือกคำ เป็นการพัฒนาคีย์บอร์ด Auto Correction ของ iPhone ขึ้นไปอีก Way ซึ่งยังไม่พิสูจน์นะว่าดีหรือไม่ดี แต่ดูแล้วก็เท่ดีไปอีกแบบ

เอาน่า อย่างน้อยมันก็คงไม่เดาคำมั่วเหมือน iOS ... มั้ง


Qt ยังไม่ตาย ใช้งานได้สมบูรณ์แบบ

ได้ยินมาตั้งแต่งาน BlackBerry DevCon Asia ที่สิงคโปร์ว่า BB10 จะใช้ Qt เขียนเป็นหลัก แต่จนแล้วจนรอดก็ยังไม่เห็นว่าใช้ Qt ตรงไหน ล่าสุดหลังจากโหลด BlackBerry NDK 10.0.4 (BB10) มาก็ได้เห็นแล้วว่า Cascades มันเขียนด้วย Qt จริงๆด้วย ! และแอพฯทั้งหลายที่เขียนโดยใช้ UI Component ของ Cascades ก็ต้องเขียนด้วย Qt อันประกอบด้วย QML และ C++ นั่นเอง เย้ เย

งานนี้เรียกว่าปลาบปลื้มมากๆ เพราะรู้สึกว่า Know How ที่เราเรียนรู้เรื่อง Qt บน Symbian/MeeGo ไม่เสียเปล่า และหลังจากนั่งศึกษาสักพัก ก็พบว่าโครงสร้างภาษาเหมือนกันทุกประการ แต่จะมีส่วนที่ต่างจาก QML Standard นิดหน่อยตรงที่ QML for Cascades จะต้องประกาศ Layout ด้วย ซึ่งใจนึงก็รู้สึกว่าดี แต่อีกใจนึงรู้สึกว่าทำไมไม่ทำให้มันเป็นแบบเดียวกับ Standard ว้า ... แต่ความหลุด Standard ก็มีข้อดีแลกมา เพราะ Library ของ Cascades มาพร้อม UI Component ครบครัน คุณสามารถนำไปใช้ได้เลย เช่น CheckBox, Button, Slider ฯลฯ เรียกว่าอยากได้อะไรสามารถลากวางได้หมด ต่างกับบน Standard ที่มีไม่ครบ อยากได้อะไรต้องทำ Custom QML เอง โดย IDE จะมี QML Editor มาพร้อม สามารถลากวางสิ่งที่ต้องการได้เลย (แต่ต้องลากลงโค้ดนะ ลากลง Design Mode ไม่ได้)

นอกจากนั้น Qt บน BB10 ยังทำงานร่วมกับ C++ ได้ตามวิธีมาตรฐาน (qmlRegisterType) และการเชื่อมต่อกันก็เป็นไปตาม Standard ทุกอย่าง ตรงนี้ไม่มีปัญหาอะไร ไม่ต้องแก้โค้ด


โดยรวมแล้วที่จะต่างก็คงต่างที่ QML ถ้าให้ประเมินก็คงมีความเหมือนความต่างประมาณ 50% ถ้าจะ Port แอพฯที่เขียนด้วย QML Standard ไปลงบน BB10 ก็คงต้องใช้พลังนิดหน่อยถึงมากหน่อย เพราะคงต้องไล่แก้ทุกไฟล์ Component บางตัวไม่มีใช้บน BB10 ก็ต้องเปลี่ยนเป็นของ Cascades แถมโครงสร้าง QML ก็ต่างกัน แต่เชื่อสิ มัน Port ได้ แค่พยายามหน่อย ...


และ Qt นี่แหละ ขอฟันธงว่าจะเป็นหนึ่งในคีย์หลักของอนาคต BB10 เนื่องจากวิธีการเขียนโปรแกรมอื่นๆมันไม่เวอร์ค ไม่ว่าจะเป็น WebWorks เอย Adobe AIR เอย หรือ NDK เอย ไม่เวอร์คสักอย่าง แต่ Qt เนี่ยแหละ เวอร์คที่สุดแล้ว เขียนง่าย แถมยัง Port จากแอพฯที่เราเคยเขียนไว้บน Platform อื่นมาลงได้ทันที สบายยย


สรุปทิ้งท้าย

หลายคนคงจะฮือฮาว่า "BlackBerry กลับมาแล้ว" แต่ส่วนตัวไม่คิดเช่นนั้น เพราะส่วนตัวคิดว่า BB10 เป็นแค่ "จุดเริ่มต้นที่ดี" เท่านั้น ในขณะที่ iOS และ Android ถึงเส้นชัยแล้ว ... ยังไม่เห็น Key Factor ที่ BB10 จะชนะ iOS และ Android ได้เลย ที่ทำได้ก็คงเป็นแค่ "ทางเลือก" เท่านั้น สาเหตุเพราะตอนนี้ยังไม่มีแอพฯเยอะเพียงพอบน BB10 และ QNX (ใครใช้ PlayBook ก็คงจะรู้) ซึ่งตรงนี้เป็นปัญหาไก่กับไข่ Developer จะไม่ไปหาถ้า User น้อย และเช่นกัน User จะไม่ใช้ถ้าแอพฯน้อย แต่ปัญหานี้ Prove แล้วว่าต้องแก้ด้วยการ "เพิ่ม User ก่อน" แล้ว "แอบเพิ่มแอพฯไปพร้อมๆกัน" คราวนี้ต้องคอยดูว่า RIM จะสามารถหาทางเพิ่ม User ของตัวเองในช่วงขาลงนี้ได้หรือไม่ ถ้าทำได้ก็เกิด ถ้าไม่ได้ ความหวังสุดท้ายก็คงจะหมดไป ...


คอยดูกันครับ

บทความที่เกี่ยวข้อง

Dec 12, 2012, 15:36
35880 views
มอง LINE ผ่านสายตานักพัฒนา
Apr 29, 2012, 23:07
20365 views
รีวิว Lumia 800 ฉบับเต็ม
0 Comment(s)
Loading