ต้นฉบับบทความนี้โพสขึ้นครั้งแรกที่ Medium ของโค้ชพลเป็นภาษาอังกฤษ
วันนี้ สิ่งที่คุณจะเห็นรอบๆ อินเตอร์เน็ตเกี่ยวกับ Google ก็คือ ข่าวลือที่พวกเขาจะใช้ Swift เป็นอีกภาษาหลักในการพัฒนาแอพ Android แทนที่ Java
ในฐานะที่พลเป็นนักพัฒนาสายควบสอง (Cross Platform นั่นแหละ) พลก็มักมองหาสุดยอดเครื่องมือที่จะสามารถใช้ในการพัฒนาแอพพลิเคชั่นบนหลายๆ แพลตฟอร์มจากโค้ดชุดเดียวได้ (ทางเทคนิคคือ reuse)
และหลังจากผ่านมาหลายปี พลสามารถบอกได้ว่าตอนนี้กลุ่ม Web technology เป็นตัวนำ เพราะเป็นหนึ่งในแพลตฟอร์มที่เริ่มมาก่อน ยุคภาษา Native อย่าง Objective-C หรือ Java สำหรับ Android
โดยผมมีการสรุปคร่าวๆ เกี่ยวกับบทสรุปของเทคโนโลยีในการทำแอพแบบ Cross Platform แบบง่ายๆ ซึ่งสามารถตามอ่านย้อนได้ด้านท้ายของบทความนี้
และในเรื่องนี้เอง พลจะขอพูดถึงหนึ่งในข่าวลือ ที่อาจจะกลายมาเป็นสัญญาณของการจบสงครามครั้งที่ 3 นี้ได้
“Google กำลังสนใจใน Swift” — แหล่งข่าว
ไม่ว่าคุณจะเป็นนักพัฒนาสาย iOS หรือ Android วันนี้จะมีคำ 3 คำลอยไปทั่ว นั่นคือ “Swift, First class, และ Google for Android” (อ้างอิงแหล่งข่าวที่ยังไม่ยืนยันจาก The Next Web, App Advice, Mac Rumors, และ Android Central)
ซึ่งข่าวลือแค่นี้นั้น ก็เพียงพอที่จะกระพือกระแสข่าวไปทั่วอินเตอร์เน็ต โดยเฉพาะจากนักพัฒนาแอพพลิเคชั่น iOS สายภาษา Swift อยู่แล้ว เพราะถ้าเรื่องนี้เป็นจริง มันจะหมายถึงความสามารถที่ใช้ภาษาเดิมในการทำแอพ iOS ไปพัฒนาแอพ Android ได้
แน่นอนว่าพลก็สนใจเช่นเดียวกัน
เพราะว่าถ้า Google จะเดินไปในทางนี้จริงๆ มันต้องกลายเป็นหนึ่งในสุดยอดเทคโนโลยีสาย Cross Platform ที่นักพัฒนาแอพพลิเคชั่นหลายคนกำลังมองหาอยู่แน่ๆ
ความเป็นไปได้
ถ้า Google จะเดินไป เส้นทางนี้ ไม่ง่ายอย่างที่คิด
ถึงแม้ว่าผลลัพธ์สุดท้ายที่ทุกคนต้องการ คือการใช้ภาษา Swift ในการเขียนแอพพลิเคชั่น Android ได้ทั้งหมด รวมถึงการเรียกใช้ Library และ SDK ต่างๆ แต่จริงๆ แล้วมีความเป็นไปได้มากแค่ไหน?
2 จุดใหญ่ๆ ที่ Swift มีแต้มนำ Java ในปัจจุบันสำหรับฝั่ง Android ก็คือ
- คดีความฟ้องร้องกับ Oracle +1
- Swift เป็น Open-source อยู่แล้ว +1
แต่ในอีกด้าน ลึกๆ แล้วสิ่งที่สร้างมาดีพร้อมสำหรับ Java บน Android นั้นไม่ได้ออกแบบมาเพื่อเปลี่ยนไปใช้ภาษาหรือโครงสร้างอื่นในทันทีทันใด
เช่น Google อาจจำเป็นต้องมี Runtime สำหรับ Swift แบบเดียวกับที่เรามี Dalvik runtime ในปัจจุบัน รวมไปถึงการหาวิธีทำให้ Libraries และ SDK เดิมสามารถทำงานได้เต็มที่กับ Swift
และในอีกส่วนหนึ่ง API ในระดับ Low-level ถูกเขียนจาก C++ ซึ่งอาจต้องการการเขียนขึ้นใหม่เพื่อรองรับการใช้งานกับ Swift ได้เต็มที่
แต่ถ้านับความเป็นไปได้ ก็มีคนลองเล่นแนวคิดนี้บ้างแล้ว ชื่อ Romain Goyet, ได้ทดสอบรัน Swift บนระบบ Android NDK ในช่วงที่ Apple ประกาศ Open-source ภาษา Swift เป็นครั้งแรก
ดังนั้นมีความเป็นไปได้ไหม?
มีความเป็นไปได้ แต่เป็นเส้นทางสายยาวทีเดียว นี่ยังไม่นับศึก 2 มหาอำนาจระหว่าง Apple กับ Google
ไม่ใช่พลไม่เชียร์ให้เกิดภาษาศักดิ์สิทธิ์ 1 เดียวที่เขียนได้ทุกอย่างนะ แต่การเมือง และธุรกิจมันมีอะไรให้เซอร์ไพร้ส์เสมอ คิดว่า Apple กับ Google มันจะลงรอยจูบปากดูดดื่มกันง่ายขนาดนั้นไหมล่ะ
น่าคิดเนอะ
แล้วมันจะมาจบความวุ่นวายของศึก Cross Platform ไหม?
จวบจนวันนี้ โค้ชพลได้พูดถึงเครื่องมือ และ Framework ระดับแนวหน้า ที่แสดงตัวออกมาจากแต่ละขั้ว เหมือนนักรบในสนามประลอง อย่างที่กล่าวไว้ใน “ศึกครั้งที่ 3” ได้แก่
- Ionic 2
- NativeScript
- React Native
- Xamarin
ซึ่งแค่ละฝ่ายต่างมีจุดแข็งที่แกร่งของตัวเอง แต่ถ้า Swift ลงสู่สนามโดยมี Google เป็นพี่เลี้ยงอีกคน พลเชื่อว่าสถานการณ์จะเปลี่ยนทันที
เพราะถ้าเป็นแบบนั้น แรงส่งจะมาจากเจ้าของระบบ Android เลย ถ้าเปรียบ ก็คงเป็นนักรบตัวยักษ์ ที่เกิดจากพลัง 2 ขั้ว เดินลงสนามอย่างผ่าเผย
ตรงนี้ขอลองทายไว้แล้วกัน ออกหัวก้อยมาดูกันอีกที เพราะตอนนี้มันยังเป็นแค่ข่าวลือ
โอเค สรุปมันจะเกิดขึ้นจริงไหม?
ทุกๆ อย่างเป็นไปได้ในโลกทุกวันนี้ มีของใหม่ๆ และเครื่องมือใหม่ๆ เกิดขึ้นทุกวัน ยิ่งข่าวนี้คือการ “ลือ” เราก็ยังไม่ควรแตกตื่นไปก่อน
เพราะจริงๆ แล้วก็มีโครงการของ Google ที่เกิดขึ้นและแตกดับไปเยอะ ซึ่งแนวคิดการนำ Swift มาใช้เป็นภาษาหลักแทนที่ Java เป็นการขยับตัวครั้งใหญ่ที่น่าสนใจ และเราควรรอทิศทางที่แน่นอนจาก Google
ซึ่งอาจจะมีเซอร์ไพร้สจาก Google I/O 2016 ก็ได้
สามารถแบ่งปันเรื่องราวนี้ได้ตามอัธยาศัย และสนทนากับพลได้ใน Comment ด้านล่างนะครับ