Mobile app คืออะไร เริ่มต้นมาจากไหน?

แน่นอนว่ายุคนี้คงไม่มีใครที่ไม่รู้จักหรือไม่เคยใช้ App บนมือถือ เเต่สงสัยกันไหมครับว่ากว่า App บนมือถือที่เราใช้กันในปัจจุบัน จะต้องผ่านอะไรมาบ้างในเเต่ละยุค

เรามาเริ่มกับ Palm กันในปี 1996 ยุคที่คนเริ่มหันมาสนใจเรื่องของหน้าตาโทรศัพท์ จอเริ่มใหญ่ขึ้นเเละสามารถปากกาจิ้มที่หน้าจอได้ ซึ่งยุคนั้นต้องยกให้ Palm (PDA) เครื่องจะคล้ายๆ กับเครื่องคิดเลขขนาดใหญ่ ต้องเรียนรู้วิธีใช้ ซึ่งเจ้า palm เนี้ยใช้ C++ ในการพัฒนาเเละใช้ browser ในการ run โดยใช้ WAB(Wireless Application Browser Protocol)

https://en.wikipedia.org/wiki/Palm_(PDA)#/media/File:Palm_TX.JPG

ต่อมาปี 2002 ทาง Nokia Prism Ericsson สามบริษัทร่วมมือกัน สร้างมือถือรุ่นฝาพับโดยใช้ภาษา Symbian พัฒนาขึ้น ซึ่งตอนนั้นก็น่าจะเป็นรุ่น Nokia_7650

https://en.wikipedia.org/wiki/Nokia_7650#/media/File:Nokia_7650.jpg

ต่อมาปี 2013 เป็นช่วงที่ BlackBerry(BB) มาล้ม Symbiun — BB คือมือถือสมัยนึงที่มีแป้นพิมพ์คล้ายๆกับ Keyboard บางคนสามารถพิมพ์ได้โดยไม่มองเเต่ว่า layout ของเจ้า BB เนี้ยต่างจาก keyboard ของคอมพิวเตอร์ในปัจจุบัน อารมณ์ก็จะประมาณว่า โทรศัพกับเครื่องคิดเลข ที่เลข 1 ของเครื่องคิดเลขจะเริ่มจากด้านล่าง เเต่โทรศัพท์เลข 1 จะเริ่มจากด้านบน เเต่เราก็ใช้ได้โดนที่ไม่ติดขัดอะไร เเละเเน่นอนว่าคนยุคนั้นใช้กันอย่างเเพร่หลาย “แลก pin กัน” จึงเป็นคำที่ได้ยินบ่อยๆในยุคนั้น เเต่พอถึงยุคที่ iphone เริ่มมีบทบาท BB ก็เริ่มหายไปจากตลาด เเต่ BB พยายามจะกลับมาอยู่บ้างเเต่ก็ยังไม่สำเร็จ

https://en.wikipedia.org/wiki/BlackBerry#/media/File:BlackBerry_8820,_BlackBerry_Bold_9900_and_BlackBerry_Classic.jpg

ในยุคปัจจุบันคงไม่มีใครไม่รู้จัก Apple หรือ iphone โทรศัพท์ที่ใช้ระบบปฏิบัติการ IOS เริ่มเเพร่หลายช่วงยุค 2007 แน่นอนว่าเป็นช่วงพีคมากสำหรับ smart phone รุ่นเเรกที่ไม่มีปุ่มที่หน้าจอเป็นระบบสัมผัส ซึ่ง iphone พัฒนาด้วย Objective C (C + OOP) เเต่พอเวลาผ่านไปก็มีภาษาใหม่พัฒนาขึ้นมาเรื่อยๆ ทาง Apple จึงออกภาษา Swift(2014) แรกๆคนไม่ยอมใช้ เพราะ System/ Syntax แปลกไปแต่ทาง Apple ก็มีวิธีการที่ทำให้คนค่อยๆยอมรับเเละใช้มาเรื่อยๆ

https://th.wikipedia.org/wiki/%E0%B9%84%E0%B8%AD%E0%B9%82%E0%B8%9F%E0%B8%99_3%E0%B8%88%E0%B8%B5#/media/File:IPhone_3G.png

ส่วนทางฝั่ง Android ที่เป็นอีกหนึ่งประบบปฏิบัติการที่มีคนใช้เยอะที่สุดในโลกตอนนี้เลยก็ว่าได้ Android ก่อตั้งขึ้นโดย Android, Inc. แต่ถูกซื้อโดย Google เมื่อปี 2005 Smart phone เครื่องเเรกที่ถูกพัฒนาขึ้นมาคือ HTC Dream วางขายเมื่อปี 2012 Android พัฒนาโดยใช้ JAVA เป็นหลัก

การพัฒนาทั้ง Android เเละ IOS ต้องเขียนเเละ Compile เหมือนกัน ซึ่งการ Compile ที่ละครั้งก็ทำให้เสียเวลาเป็นอย่างมาก ซึ่งต่อมาจึงมีการคิดค้น Hybrid App ขึ้น หลักการของมันก็คือ Web + App นั้นก็คือการให้ App ไปโหลด Comtent มาจาก Web ผู้ใช้หลักๆ ก็จะเป็น PhoneGap(Apache Cordova), IONIC เเต่มันก็ยังมีข้อเสียอยู่นั้นก็คือ App ทำหน้าที่โหลด Content ใน Web เลยทำให้โหลดค่อนข้างช้า

ต่อมา Facebook จึงออก Concept ใหม่มาเป็น Javascript base ชื่อ React Framework โดยเปลี่ยนจาก Write once, run anywhere เป็น Learn once, run anywhere หลังจากออก React.js ออกมาเเล้ว จึงออก React Native นั้นก็คือเขียนออกมาได้ทั้ง Android เเละ IOS ซึ่งสะดวกมาก(ไม่ต้องเขียนสองรอบ) โดยการไปหยิบ Native Component ของทั้ง Android และ IOS มา Compile เเต่เเยก Build นะ เเต่ยังไม่หมด เพราะมี Javascript bridge ตัวนึงมาคอยดึง Component ของสอง Native มา Run จึงยังไม่เหมือน Native และ Performance ก็ยังไม่ดีเท่าเขียน Native

React Framework

หลังจากที่ React ออกมาก็มีภาษาใหม่ออกมาอีกชื่อ Flutter เป็นภาษา Dart ที่ตัด javascript bridge ออก ซึ่งผู้พัฒนานั้นก็คือ Google ได้เครมว่า Performance ดีกว่า แต่ข้อเสียคือต้องไปเริ่มภาษาภาษาใหม่นี้ ออกตัวทำสำหรับ mobile ก่อน เเละกำลังจะออกตัวที่ทำเว็บมาทีหลัง

ข้อดีของการเขียน Cross-Platform คือ เขียนทีเดียวได้ทั้ง Android เเละ IOS แต่ถ้าออก Version หรือ Component ใหม่ออกมาจะทำให้ component นั้นพังหรือ run ไม่ได้ เเละ Performance ก็จะสู้ Native App ยังไม่ได้

Blog นี้มีเพียงเเค่ส่วนหนึ่งใน Mobile Framework ที่มีในปัจจุบันนะครับ ที่ผมหยิบมาเล่าให้ฟังข้างต้นนี้ก็จะเป็นเพียงเหตุการณ์ใหญ่ๆที่เกิดขึ้น จริงๆยังมีอีกเยอะเเยะเลยครับ เช่น ทางฝั่ง Microsoft ก็จะมี Xamarin เขียนโดยใช้ .NET Framework และไหนจะยังมี Windows Phone อีก เห็นไหมครับว่าโลกของมหาสมุทร App ในตอนนี้เนี้ยมันกว้างขนาดไหน ผมจะทิ้งท้ายด้วย Market share ของ Mobile OS ปี 2014 –2018 ไว้ด้านล่างนี้นะครับจะได้เห็นภาพง่ายๆ

สุดท้ายนี้ก่อนจากกันไปต้องขอขอบคุณ Mission to the moon podcast “EP 239 Tech Monday (On Wednesday) ถ้าจะทำ Mobile App ต้องรู้อะไรบ้าง” นี้มากครับสำหรับข้อมูลดีๆ เเละเเรงบันดาลใจในการเขียน Blog นี้ขึ้นมา สามารถเข้าไปฟังได้ที่ Link ด้านล่างนี้


สำหรับคนที่สนใจอยากรู้จัก หรืออยากร่วมงานกับเรานะครับ สามารถติดตามข่าว
สารเเละติดต่อพวกเราได้ที่ facebook: https://www.facebook.com/igeargeek เเล้วสักวันเราอาจจะได้พบกัน สำหรับวันนี้…. สวัสดีครับบบบ