จากงาน Blackberry 10 Jam World Tour ที่ประเทศสิงค์โปร RIM เผยข้อมูลที่น่าสนใจสำหรับนักพัฒนามากมาย หนึ่งในนั้นคือ การที่ RIM มีเครื่องมือในการพัฒนาโปรแกรม และ เกมส์ ให้เลือกใช้ถึง 5 ชนิด ด้วยกัน เพื่อรองรับนักพัฒนาที่มีความถนัดแตกต่างกัน ซึ่งตรงนี้เป็นจุดต่างของ BB10 และ ระบบปฏิบัติการอื่น ๆ รวมถึงเป็นจุดเปลี่ยนที่จะทำให้โปรแกรมของ BB10 ใน AppWorld เพิ่มขึ้นอย่างก้าวกระโดด
งานนี้ RIM คิดมาดี ทำการบ้านมาดี และ เอาใจ Developer เต็มที่เลย
BB10 รองรับการเขียนโปรแกรม และ เกมส์ด้วยภาษามากถึง 5 ภาษาด้วยกัน ทำให้นักพัฒนาง่ายในการต่อยอดความรู้ความสามารถเดิมของตัวเองได้แบบง่าย ๆ ไม่จำเป็นต้องยึดติดกับภาษาใด ๆ เพียงภาษาเดียว โดยแต่ละภาษาจะมีเครื่องมือ (Tools, SDK หรือ NDK) รองรับแต่ละภาษา เพื่อ compile ตัวโปรแกรมออกมาให้สามารถใช้งานบน BB10 ได้ทันที
สำหรับท่านที่ยังใหม่กับระบบปฏิบัติการ QNX หรือ BB10 ขอบอกว่าไฟล์ติดตั้งสำหรับ BB10 เป็นไฟล์นามสกุล .bar นะครับ โดยสามารถ side loade เพื่อเทสได้บน Playbook และ BB DevAlpha ผ่าน Developer Mode
ภาษาที่รองรับบน BB10 ทั้ง 5 ภาษาคือ
Native SDK ใช้ภาษา C/C++ ร่วมกับ SDK ของ RIM ซึ่งนักพัฒนาส่วนมากก็คุ้นเคยกับภาษา C และ C++ กันอยู่แล้ว
Cascades SDK ใช้ภาษา C++/Qt ร่วมกับ Cascades Builder ออกมาจะได้ UI และ Graphic Effect ต่าง ๆ ที่ออกแบบพัฒนาโดย TAT ที่ RIM แสดงให้ดูด้วยแอพตัวอย่างตามงานต่าง ๆ รวมถึงบรรดาโปรแกรมมาตรฐานของ B10 ก็ใช้ Cascades UI เช่นกัน การใช้ Cascades Builder (SDK) จะทำให้แอพมีลูกเล่นเจ๋ง ๆ โดยแทบไม่ต้องทำอะไรเลย เพราะ Builder ทำให้อัติโนมัติ
HTML5 Blackberry WebWorks ใช้ web technology สร้างแอพขึ้นมา โดยที่หน้าแอพจะไม่รู้เลยว่าเป็น WebWorks เพียงแต่ HTML5 ก็มีข้อจำกัดของมันอยู่ในเรื่องของฟีเจอร์ล้ำ ๆ อาจไม่ค่อยรองรับ แต่ความง่ายนั้นง่ายจริง สำหรับแอพธรรมดา ๆ ใช้ WebWorks ก็เร็วดี
ในส่วนของ WebWorks มีข้อดีอย่างหนึ่งคือ สามารถ Compile ให้สามารถรันบน OS7 ได้ด้วย เรียกว่าเขียนทีเดียวไปยาว ๆ จาก OS7 – 7.1 และ BB10
Adobe Air ใช้ Action Script และ เครื่องมือของ RIM + Adobe เขียนแอพขึ้นมาได้อย่างง่าย ๆ และ รวดเร็ว เพียงแต่ตอนนี้ยังไม่ค่อยนิยมกันนักในหมู่นักพัฒนา
Android Runtime มันเกิดมาเพื่อรองรับนักพัฒนา Android โดยเฉพาะ สามารถใช้ไฟล์ .apk ของแอนดรอย์ปกติ เอาไปโยนใส่ Ripple ของ RIM แล้ว Port ออกมาเป็นไฟล์ .bar สำหรับ BB10 ได้เลยง่าย ๆ ซึ่งสิ่งที่นักพัฒนาอาจต้องทำเพิ่มคือ แก้โค๊ดบางส่วนเพื่อเพิ่มประสิทธิภาพของแอพ เช่น การควบคุม, Multi Tasking หรือ Push notification ต่าง ๆ รวมถึง Analytic API
นอกจากนั้น เพื่อเป็นการตัดปัญหาของเครื่อง Blackberry ที่มีหลายขนาดหน้าจอในอดีต BB10 จะมาพร้อมกับ Photoshop plugin
Photoshop Plugin ทำงานอย่างไร มีประโยชน์อย่างไร
กราฟฟิกดีไซน์เนอร์ หรือ นักออกแบบ UI เพียงแต่ออกแบบหน้าโปรแกรมบน Photoshop จากนั้น Export ไปยัง Cascades Builder เพื่อเขียน Code ในการทำงานเท่านั้น เวลาที่มีมือถือหน้าจออื่น ๆ ออกมาก็สามารถ Compile ได้เลยโดยไม่ต้องเขียน UI ใหม่ ไฟล์ที่ใช้ทำแอพก็ไม่ใช่ .png อีกต่อไป แต่เป็น .svg (ถ้าไม่ผิดนะครับ ผมก็กำลังศึกษาอยู่เช่นกัน
มีคำพูดของ มร. อเล็ก ซอวนเดอร์ กล่าวไว้ในงาน น่าสนใจมากว่า “เราไม่ได้สร้างระบบมาให้คุณเขียนโปรแกรม แต่เราเชิญทุกคนมาเขียนโปรแกรมด้วยภาษา และ ประสบการณ์ของแต่ละคนบนระบบปฏิบัติการของเรา”
ต้องบอกว่าจดไม่ทัน อาจแปลไม่เป๊ะนะครับ แต่ใจความสำคัญถูกแน่นอน
เหมือนคติพจน์ของหนังเรื่อง 3 ทหารเสือครับ “One For All, All for One” ระบบปฏิบัติการหนึ่งรองรับทั้ง 5 ภาษา และ ทั้ง 5 ภาษาสามารถ Compile ไปใช้บนระบบปฏิบัติการเดียวกันได้ โอ้วววว มั่วเอง แปลเอง ยังรู้สึกว่าเท่ห์โคตร ๆ ครับ
ดังนั้น BB10 จึงมี SDK, NDK และ Builder ที่รองรับถึง 5 ภาษา และทั้งหมดจะถูก compile ออกมาเป็นไฟล์นามสกุลเดียวกันหมดเพื่อติดตั้งลงบน BB10 ที่รองรับโปรแกรมนั้น ๆ ได้อย่างสมบูรณ์
มีคำถามบนทวิตเตอร์ของผมว่า การที่ BB10 รองรับถึง 5 ภาษาจะมีปัญหาอะไรมั๊ย เท่าที่ดูจากแผนงาน และ ระบบแล้ว พบว่ามีแต่ข้อดีมากกว่าข้อเสีย เพราะไม่ใช่ระบบปฏิบัติการรองรับ 5 ภาษาที่แตกต่าง แต่เป็น SDK/Builder ที่ RIM พัฒนาขึ้นมาเพื่อรองรับแต่ละภาษา แล้วแปลให้เป็นไฟล์ชนิดเดียวกันหมดต่างหาก
เรียกว่า BB10 รองรับไฟล์ .bar เท่านั้น แต่เค้้าจัดเตรียมเครื่องมือ 5 ชุด ให้คนที่ถนัดทั้ง 5 อย่างมาเขียนแล้วคลอดเป็นไฟล์ .bar ที่ BB10 รองรับ
ซึ่งตรงนี้ทำให้นักพัฒนาทำงานง่ายขึ้น และ เอื้อประโยชน์กับนักพัฒนาหน้าใหม่ ๆ ไม่ต้องมานั่งศึกษาวิธีเขียนแอพใหม่ แต่สามารถเลือกใช้ภาษาที่ถนัด และ มีประสบการณ์มาใช้กับเครื่องมือต่าง ๆ ได้อย่างลงตัว
ข้อเสียหลัก ๆ ที่เห็นในตอนนี้คือ นักพัฒนาลังเล ไม่รู้จะเริ่มเขียนด้วยภาษาใด และ ภาษาใดดีที่สุด ยิ่งกับคนที่ไม่คุ้นกับ QNX แล้วยิ่งยากในการตัดสินใจ
แล้วการที่ BB10 มีเครื่องมือถึง 5 ภาษา แล้วนักพัฒนาควรใช้ภาษาใดในการเขียน????
ตรงนี้ต้องบอกว่าแล้วแต่ความถนัดของแต่ละคน
แต่ละภาษาก็มีข้อจำกัดของมัน บางภาษาฟีเจอร์ และ ลูกเล่นต่าง ๆ อาจน้อยกว่า แต่เขียนง่ายเหมาะสำหรับโปรแกรมที่ไม่ต้องอะไรมาก
หากเป็นหลายภาษา ก็ยิ่งง่าย เลือกใช้ตามใจชอบ
หากถามว่าอะไรก็ได้แต่ขอให้สุด…..ส่วนตัวผมแนะนำ Cascades Builder + Photoshop Plugin ครับ
เป็นอย่างไรบ้างครับ เพื่อน ๆ นักพัฒนาทุกท่าน น่าสนใจไหมครับ ที่สำคัญตอนนี้สมัครเป็น Developers ได้ฟรี และ เปิดบัญชีกับ AppWorld ได้ฟรีด้วยนะครับ รีบไปเปิดก่อนเค้าจะหันมาเก็บเงินกันดีกว่า
หากใครถนัดเขียนแบบไหน ก็ลองไปศึกษาดูได้ที่ https://developer.blackberry.com/
ด้านล่างนี้เป็นภาพถ่ายสไลด์ในงาน BB Jam Singapore ที่ผมถ่ายไว้ก่อนจะโดนเตือนว่า “ห้ามถ่ายภาพ” รวบรวมไว้ให้ศึกษากันนะครับ ไม่เอาไปแทรกด้านบนเพราะอยากให้อ่านง่าย ๆ ครับ
หวังว่าจะเป็นประโยชน์กับเพื่อน ๆ นักพัฒนา และ ผู้สนใจทุกท่าน
ขอบคุณ
- Research In Motion
- Hill & Knowlton
[…] […]
[…] […]