เมื่อกล่าวถึงการใช้งานมือถือเราคงนึกถึง 2 Platform ที่เป็นผู้นำในตลาดอยู่ คือ Android และ iOS สำหรับภาษา Programming ที่ใช้ในการพัฒนา Mobile App อย่างเป็นทางการคือ Java และ Swift (& Objective-C) ตามลำดับ แต่ก็ยังมีภาษาอื่นๆ ที่ถูกนำมาใช้เพื่อพัฒนา Mobile App แบบ Hybrid และข้าม Platform  อย่างเช่น C#JavaScriptC++ส่วนปัจจัยที่มีอิทธิพลต่อการเลือกใช้ภาษา Programming ก็ได้แก่ กลยุทธ์การพัฒนา Mobile App. โดยรวม (Native, ข้าม Platform, Hybrid เป็นต้น), ทักษะความสามารถของทีมที่พัฒนา, กลุ่มเป้าหมายของผู้ใช้งาน App, ความต้องการที่เฉพาะเจาะจงของ App และ หมวดหมู่ของ App (Utility, Games, B2B หรือ B2C เป็นต้น) เมื่อทราบปัจจัยที่ใช้ในการเลือกภาษา Programming แล้ว ตอนนี้เรามาดูกันดีกว่าว่า ภาษา Programming ที่ดีที่สุดในการพัฒนา Mobile App มีอะไรบ้าง

1. Java

Java เป็นภาษาที่ได้รับความนิยมและใช้งานมาอย่างยาวนานในการพัฒนา Application โดยหลังจากที่ Google เปิดให้Android เป็น Open Source ตั้งแต่ปี 2008 แทบจะเรียกได้ว่า Java เป็นภาษาที่ครองโลกของการพัฒนา Android App ถึงแม้จะมีการใช้ภาษา C++ มากขึ้น แต่ก็คาดว่า ภาษา Java น่าจะยังเป็นภาษาที่ถูกใช้งานเป็นหลักไปอีกหลายปี อีกทั้งยังสามารถใช้สำหรับการพัฒนา Application ข้าม Platform อีกด้วย นั่นคือคุณสามารถเขียน App. ใน Java และ Compile App. ของคุณ เพื่อ Run บน iOS (iPhone, iPad) และโทรศัพท์ Platform อื่นๆ ได้ นอกจากนี้ JUniversal, RoboVM และ CodeNameOne ก็ถือเป็นอีกทางเลือกในการพัฒนา Application แบบข้าม Platform (รวมถึง iOS App) โดยใช้ Java และที่สำคัญคือ สามารถใช้พัฒนา App. ทั้งที่เป็น Games, Utility Apps, Music, Video Apps, Enterprise Apps, Shopping Apps และทุกสิ่งที่เป็น Android ได้

2. JavaScript + HTML5

มี iOS และ Android Developer หลายคนที่ชอบทำงานกับ Library และภาษาอย่าง Swift, Objective-C และ Java เพื่อสร้าง Mobile App. แต่นั่นไม่ใช่ทางเลือกที่ดีที่สุดเสมอไป ที่จริงก็มีทั้งข้อดีและข้อเสียในการใช้ภาษา Programming ที่เฉพาะเจาะจงในการพัฒนา Application แต่ข้อเสียที่ใหญ่ที่สุดคือ คุณจำเป็นต้องสร้าง  Mobile App. หลายอันเหมือนๆกัน เพื่อแยกการรองรับการใช้ใน iOS, Android, Windows รวมทั้ง Platform อื่นๆ ซึ่งทำให้ภาษา C# และ JavaScriptถูกนำมาใช้สำหรับสร้าง App แบบข้าม platform และ App แบบ Hybrid ตามลำดับ เหตุผลสำคัญข้อหนึ่งของการใช้JavaScript Framework และHTML5 ในการพัฒนา Application แบบ Hybrid ก็เพราะ เป็นตัวเลือกที่ง่ายที่สุดสำหรับDeveloper รุ่นก่อนๆ ที่อยากจะเข้าสู่โลกของการพัฒนา Mobile App. สำหรับ Ionic ก็เป็นอีก Framework หนึ่งที่ใช้สร้าง Mobile App. แบบ Hybrid ซึ่งให้ความรู้สึกที่คล้ายกับการใช้ CSS, JavaScript และ HTML แต่ด้วยการเติบโตขึ้นของ React Native ได้นำ JavaScript ไปสู่โลกของการพัฒนา Native App แบบข้าม Platform สำหรับ Android และiOS

3. Swift

หากพูดถึงการพัฒนา App. ใน iPhone, iPad และ iPod ซึ่งเป็น Product ของ Apple แล้ว ภาษา Swift ถือเป็นภาษาที่ถูกใช้งานมากที่สุดโดยถูกเผยแพร่ครั้งแรกในปี 2014 โดย Apple แต่ในปี 2015 ก็เปิดให้เป็น Open Source ทำให้ได้รับความนิยมมากขึ้น ปัจจุบันสามารถใช้ Swift บน Linux ได้แล้ว และมีโอกาสที่ Google อาจใช้ Swift ในการพัฒนาAndroid ด้วย หากมีการใช้ Swift ในการพัฒนาทั้งใน AndroidiOS และ OSX แล้ว แน่นอนว่า Swift จะกลายเป็นภาษาที่มีการใช้ในการพัฒนา Mobile App. มากที่สุด จะว่าไปแล้ว Swift เป็นภาษาที่เรียนรู้ได้ง่าย มีไวยากรณ์ที่ง่ายเหมือนอย่างภาษา Script รวมทั้งมี Feature และ Performance ของ Low level language เหมือนอย่างภาษา C อีกด้วย นอกจากนี้ Swift ยังใช้งานกับ Xcode ได้ด้วย นั่นหมายถึง คุณสามารถเขียน Code และดู Output บนหน้าจอได้เลยเหมือนอย่างภาษา Script อื่นๆ แม้แต่ IBM ซึ่งเป็นองค์กรระดับ Enterprise ก็ได้ออก Development Tools สำหรับภาษา Swift ซึ่งทำให้การเรียนรู้ทำได้ง่ายและรวดเร็วขึ้น

4. C#

C# เป็นหนึ่งในภาษาที่เป็นที่ต้องการมากที่สุดในการพัฒนา Mobile App. แบบข้าม Platform, Developer สามารถเขียน iOSAndroid และ Windows Phone App ใน C# ด้วยการสนับสนุนของเครื่องมือ Cross Platform อย่าง Xamarin และ Unity games engine โดย C# เป็นภาษาที่คิดค้นโดยของสถาปนิก Microsoft คือ Anders Hejlsberg และได้ถูกเผยแพร่ในปี 2000 ซึ่งเป็นภาษาที่ใช้งานได้หลากหลายมากที่สุดภาษาหนึ่งจนถึงตอนนี้ สำหรับ 2 Platform ยอดนิยมที่สนับสนุนการพัฒนา Mobile App ด้วย C# คือ Xamarin และ Unity games engine ด้วยการเพิ่มขึ้นของ Xamarin ในช่วงที่ผ่านมา C# กลายเป็นภาษาที่คุณเลือกสำหรับการสร้าง Enterprise Applications, Business Apps, Utility Apps, Productivity Apps รวมทั้ง Games ด้วย ส่วน Unity เองก็ยกความดีความชอบให้ C# ในเรื่องของการพัฒนา Games แม้ว่า Unity จะสนับสนุน JavaScript และ Unity Script ด้วย แต่ C# เป็นภาษาอเนกประสงค์ที่น่าจับตามองมากที่สุดภาษาหนึ่ง ซึ่งทำให้ C# Developer ได้เขียน Code เพื่อสร้าง Games สำหรับ iOSAndroid, Xbox รวมทั้ง Platform อื่นๆ

5. C++

C++ ถือเป็นหนึ่งในภาษาที่มีประสิทธิภาพมากที่สุดภาษาหนึ่ง ใช้งานได้ดีกับ Hardware และไม่ยากอยากภาษา C ด้วย ภาษา C++ อยู่ใน ecosystem ของ Microsoft ด้วย Visual Studio และด้วยเหตุนี้ จึงไม่ต้องกังวลเรื่องว่าจะมีปัญหาสำหรับ Developers, Development Tools และ ระบบ Documentation ที่ดี และปัจจุบัน C++ ก็ได้รับความสนใจในการพัฒนา Mobile App. ด้วยเช่นกัน และเมื่อเทียบกับ Java แล้ว C++ ดูน่าจะได้เปรียบหลังจากที่ Google ได้เพิ่มการสนับสนุน Native development Kit (NDK) ซึ่ง NDK ก็สนับสนุน C/C++ ในการพัฒนา Android App. ซึ่งทำให้คุณสามารถพัฒนา Code ที่มีประสิทธิภาพกว่า Java รวมทั้งไม่มี Garbage Collection ด้วย ในทางกลับกัน Microsoft ก็ได้มีการปรับปรุงให้ Visual Studio ดีขึ้น และเพิ่มการสนับสนุน การ Compile code ของ C++ โดยตรงใน Android Native Code นอกจากนี้ยังมีการเพิ่ม Android Emulator เพื่อช่วยในการพัฒนา App. อีกด้วย ในการพัฒนา iOSC++ ทำงานร่วมกับ Object-C และคุณสามารถใช้ Library ของ C++ ในการพัฒนา App. ของ iOS ได้ รวมทั้ง Library ของ C++สามารถใช้ร่วมอยู่ใน Swift Code ได้ด้วย และ หากกลยุทธ์ของคุณ คือการเขียนเฉพาะ Native App. สำหรับทั้งAndroid และ iOS, Library ทั่วไปที่ถูกเขียนใน C++ สามารถถูกใช้ทั้งใน Android รวมทั้ง Swift และ Objective-c ซึ่งจะช่วยให้ประหยัดเวลาในการพัฒนาอีกด้วย

Objective C ถือเป็นตัวเลือกในการพัฒนา Mobile App. ของ Apple มาเป็นเวลานาน แต่มันก็ถูกแทนที่ด้วย Swift ซึ่งDeveloper รุ่นใหม่อยากที่จะเรียนรู้มากกว่า แต่เพราะ ecosystem ของ Objective C มีขนาดใหญ่มาก จึงเป็นเรื่องยากที่จะเข้าใจและเข้าถึงระบบนี้ ถึงอย่างไรมันยังคงเป็นหนึ่งในภาษาชั้นนำที่ใช้ในการพัฒนา Mobile App. ซึ่งยังมีอยู่เป็นนับล้านที่ถูกสร้างและ Maintain ใน Objective-C

บทความนี้น่าจะทำให้ผู้ที่สนใจพัฒนา Mobile App. ได้มีแนวทางที่สามารถใช้ภาษาในการพัฒนาได้บ้าง แต่ก็อย่าลืมพิจารณาปัจจัยที่มีอิทธิพลต่อการเลือกใช้ด้วย

ที่มาnoeticforce.com

Close Menu