โปรแกรมที่ใช้ สร้าง แอ พ พลิ เค ชั่ น มีอะไรบ้าง

สวัสดีคับ ผมคิดว่าโลกของ mobile application มันเปิดกว้างและหลากหลายมากๆผมเลยได้ไปหาข้อมูลมา แล้วผมจะมาเขียนสรุปให้ฟัง เอ้ยย! สรุปให้อ่าน ว่ามีอะไรบ้างที่ทำ mobile application ได้โดยที่ไม่ต้องพึ่ง native อย่างเดียว

ก่อนอื่นเรามารู้จัก native mobile apps กันก่อน ว่ามันคืออะไร?

Native Mobile Application คือ แอปพลิเคชันสำหรับสมาร์ทโฟน สร้างขึ้นสำหรับแพลตฟอร์มเฉพาะ Native app โดยการตอบสนองของอินพุตและเอาต์พุตนั้นอย่างรวดเร็วและไม่จำเป็นต้องเชื่อมต่ออินเทอร์เน็ต แต่มีราคาแพงกว่าการพัฒนาทางเลือกอื่น ๆ

และตอนนี้ OS ของสมาร์ทโฟนน่าจะเหลืออยู่ 2 เจ้าดังๆ คือ iOS กับ Android (แต่น่าจะมีมาอีกเจ้านะ แต่ไม่รู้จะมาเมื่อไหร่)
— โดย Application บน iOS ก็มีภาษา C, C++, Objective-C, Swift และก็มี Kotlin Native ด้วยที่สามารถใช้พัฒนา App บน iOS ได้ โดยใช้ IDE ที่มีชื่อว่า Xcode ซึ่งเป็นโปรแกรมที่อยู่ใน macOS เท่านั้น เพราะฉะนั้นถ้าจะมีการพัฒนาแอปที่เป็น native บน iOS ก็ควรจะมีแมคบุ๊คติดตัวกันไว้สักหนึ่งเครื่องนะคับ แต่เดิม application บน iOS จะพัฒนาด้วย Objective-C แต่ตอนนี้พัฒนาด้วย Swift เพราะ Switf เป็นภาษาที่ apple พัฒนาขึ้นมาเอง แล้ว Ojective-C ก็ใช้เวลานานในการศึกษา ส่วนการทำงานหลังจากที่ Source Code เราพร้อม ตัว Compiler จะทำการแปลง Source Code → LLVM → Machine Code เพื่อเป็น Application บน iOS นั้นเอง

picture by: https://shinesg.files.wordpress.com/2016/01/swift-2.png

— ส่วน Android ก็มี Java กับ Kotlin ในการสร้างหรือพัฒนา Application ต่างๆภายใต้ platform ของตัวเอง ตอนแรกภาษาหลักของ Android จะเป็น Java แต่เกิด Kotlin ขึ้นมาเพื่อแก้ปัญหาบางอย่างของ Java และตอนนี้ Kotlin น่าจะได้เป็นภาษาหลักที่ใช้พัฒนาใน Android แล้ว แต่ของ Android ไม่ได้มีแค่ 2 ภาษาที่ใช้พัฒนานะ สามารถใช้ภาษาตระกูล JVM ได้ เช่น Scala, Groovy, Clojure แต่ไม่มีใครเขาทำกัน โดยใช้ Android Studio ที่เป็น IDE ของ Google เองมาพัฒนา ซึ่งเจ้า Android Studio นี่มันมาจาก Google เอา IDE อย่าง intellij มาเพิ่มความสามารถจนกลายมาเป็น Android Studio ซึ่งหน้าตามันจะกลายๆกันใช่ไมละ แต่ IDE ตัวนี้ต่างกับ Xcode เพราะว่ามันมีทั้งใน windows และ macOS นะคับ เพราะฉะนั้นถ้าใครจะพัฒนาแอป android ที่เป็น native ก็ควรจะมีแมคบุ๊ค เอ้ยย! PC สักเครื่องนะคับ และเมื่อ Source Code เสร็จ ตัว compiler ก็จะทำการแปลง Source Code → .class หรือ Byte Code → DEX → APK แล้วก็มาเป็น Application บน Android ของเรานั้นเอง

picture by : https://www.guardsquare.com/files/media/guardsquare2018/Diagram_dex.png

Hybrid Application

Hybrid Application เป็นการผสมผสานระหว่าง native และ web แอปไฮบริดเป็น Web View ที่ใช้ HTML, CSS และ Javascript ในการพัฒนา แอปไฮบริดมีราคาถูกกว่า native apps ราคาถูกในที่นี้หมายถึง ใช้เวลาเรียนรู้น้อยกว่า native และสามารถนำความรู้จากการเขียนเว็ปเกือบทั้งหมดมาใช้ได้เลย(หมายถึงถ้ามีความรู้มาจาก web อยู่แล้วนะ) แต่ต้องเรียนเพิ่มเติมด้วยนะ ในเรื่องของการเขียนติดต่อการใช้ กล้อง contact รูปภาพ เป็นต้น ที่ต้องเขียน native นะคับ โดยถ้าเราอยากได้รูปภาพใน gallery ของโทรศัพท์ของ iOS เราก็ต้องไปเขียน plug-in ในการติดต่อ native กับ apps ของเราเอง ส่วนของ Android ก็ทำเหมือนกันคับ

และอีกอย่างในการทำ hybrid ไม่เปลืองทรัพยากรในเรื่องของ developer อีกด้วย เพราะว่าเขียนครั้งเดียว run ได้ทั้ง 2 platforms แต่ถ้าเป็นเรื่อง performance สู้ native ไม่ได้แน่นอนและไม่สามารถปรับแต่งให้เหมาะกับแต่ละแพลตฟอร์มเหมือน native apps ได้ ซึ่งอาจจะส่งผลต่อผู้ใช้ในเรื่องของ user experience ได้ แอปไฮบริดเรียกใช้แอปพลิเคชันภายใน native apps โดยใช้ wrapper ของ Native คับ

picture by : https://cdn-images-1.medium.com/max/1600/1*MpyGQEBmWLd4pBSk_lbB0Q.png

Cross Platform

เท่าที่ผมเข้าใจ Cross Platform เป็นแอปพลิเคชันหรือโปรแกรมที่เป็นซอฟต์แวร์ชนิดหนึ่งที่ทำงานบนระบบปฏิบัติการหรืออุปกรณ์หลายระบบซึ่งมักเรียกว่าแพลตฟอร์มแพลตฟอร์มหมายถึงระบบปฏิบัติการเช่น Android, iOS, Windows หรือ MacOS เมื่อแอปพลิเคชันหรือโปรแกรมซอฟต์แวร์ทำงานบนมากกว่าหนึ่งแพลตฟอร์มผู้ใช้สามารถใช้ซอฟต์แวร์บนอุปกรณ์และคอมพิวเตอร์ที่มีให้เลือกมากมายแล้วแต่ผู้ใช้สะดวกและสบายใจ

แล้วเท่าที่ผมรู้จักที่เขาใช้กันในการพัฒนาแอปพลิเคชันหรือโปรแกรมที่เป็น cross platform จะมี ionic, react native, fulter และมีอีกมากมายเลยคับ

และยังมีอีกอย่างหนึ่งคือ progressive web apps

Progressive Web Apps (PWA) มันไม่ได้เป็นเครื่องมือในการสร้าง mobile apps นะ แต่มันเป็นการออกแบบหน้าตา web ของเราให้เหมือนกับ mobile apps โดยจะรันบน browser ซึ่งจะทำให้ผู้ใช้เข้าถึงได้ง่ายกว่า ไม่จำเป็นต้องไปดาวน์โหลดบน app store หรือ play store ให้ยุ่งยากและอยากจะอัปเดทให้ล่าสุดตอนไหนก็ได้ เพราะว่าเจ้า PWA เป็น web สมมุติถ้าเรามี feature ใหม่ แล้วอยากเอาของใหม่ขึ้น ผู้ใช้ก็ได้ใช้ของใหม่ทันที ไม่ต้องกดอัปเดทเหมือน mobile apps เลย หลักการของการ Add to Home screen เป็นการสร้าง icon บนหน้าจอแล้วจำ url ของเว็ปเพื่อเวลากด icon จะเป็นการเปิด browser แล้วเข้า url เว็ปนั้นให้เลย

วิธีทำให้ web บน browser ให้มาเป็น apps ในโทรศัพท์ของเราก็ง่ายๆ

อย่างแรกเข้าไปที่ browser แล้วเข้าไป web site ที่เราต้องการ สมมุติผมอยากได้ Google มาเป็น apps บนหน้าจอ ผมก็เข้าไปที่ www.google.com

แล้วมันจะมีจุด 3 จุด ตรงขวาบนมันเรียกว่า menu button กดเข้าไปจะมีคำว่า
Add to Home screen

กดเลย แล้วมันจะมีขั้นตอนนิดหน่อย แค่นี้เราจะ apps บนหน้าจอเราแล้ว

สรุป

การทำ mobile apps ไม่ได้มีแค่การเขียน native อย่างเดียว เพราะว่ายังมีอีกตั้งหลายวิธีที่ใช้ในการสร้าง mobile apps ง่ายที่สุดก็ Add to Home screen นะคับ ง่ายสุดดด ถถถ(ง่ายในที่นี้หมายถึง web ของคุณต้องนำ PWA มาออกแบบแล้วนะและก็เป็น responsive ด้วยนะ) แต่ถ้าเป็นห่วงประสิทธิภาพของแอปและมองผลระยะยาวก็น่าจะไปทาง native แต่อาจจะแพงและก็ทำงานได้แค่แพลตฟอร์มเดียว แล้วถ้าอยากได้เป็น apps ที่ทำงานได้หลายแพลตฟอร์มจริงๆและอยากให้อยู่บน app store, play store ก็แนะนำให้ไป hybrid คับเป็น cross platform อีกด้วย

ถ้าจะทำสักแอป เลือกตามใจต้องการเลยคับ ว่าอยากได้แบบไหนนน

จบแล้วคับบ ผมเข้าใจผิดตรงไหนหรือบอกอะไรผิดไป comment มาได้นะฮะ ผมจะได้ปรับปรุงคับ ขอบคุณคับ ^^

ใช้โปรแกรมอะไรในการสร้างแอพพลิเคชั่น

สำหรับโปรแกรมพัฒนาแอแอนดรอยด์หลักๆ (Native Development Tools) จะมีอยู่ด้วยกัน 2 ตัวคือ Eclipse ADT และ Android Studio ซึ่งเมื่อก่อนนั้นจะใช้ Eclipse ADT กัน แต่ในภายหลังทางทีมพัฒนาได้ทำ Android Studio ออกมาให้ใช้งานกัน ซึ่งทำงานได้ดีกว่า มีประสิทธิภาพดีกว่า (แต่กินสเปคมากกว่าด้วยเช่นกัน)

ภาษาโปรแกรมที่ใช้สร้างแอพพลิเคชั่นมีอะไรบ้าง

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

สร้างแอปพลิเคชัน ยังไง

สร้างและตั้งค่าแอป.
เปิด Play Console..
เลือกแอปทั้งหมด > สร้างแอป.
เลือกภาษาเริ่มต้นแล้วเพิ่มชื่อแอปที่คุณต้องการให้แสดงใน Google Play คุณเปลี่ยนการตั้งค่านี้ในภายหลังได้.
ระบุว่าแอปพลิเคชันของคุณเป็นแอปหรือเกม คุณเปลี่ยนการตั้งค่านี้ในภายหลังได้.
ระบุว่าแอปพลิเคชันของคุณเป็นแบบฟรีหรือต้องซื้อ.

Thunkable สร้างแอพอะไรได้บ้าง

นำ Thunkable ไปใช้สร้างโมบายแอปพลิเคชันอะไรได้บ้าง - โปรแกรมสุ่มตัวเลข - โปรแกรมฝึกเขียนตัวอักษร - โปรแกรมฝึกวาดภาพ - โปรแกรมประยุกต์ด้านงานต่างๆ ที่ใช้ฐานข้อมูล