สำหรับแนวทางในการพัฒนา Appplication Mobile มีแนวทางที่ ตอนนี้ กำลังฮิตอยู่ 2 แนวทางคือ Native และ HTML5 จากประสบการณ์ของผมที่ผ่านมา ในการพัฒนาผมจึงเขียนเปรียบเทียบให้เห็นถึงข้อดีและข้อเสีย ของแต่ละแนวทางให้เห็นกัน
เปรียบเทียบ Native
VS Html5
Topic
|
HTML5
|
Native
|
ความเร็วในการแสดงผล
|
Y
|
|
ความเร็วในการพัฒนา
|
Y
|
|
Reuse
Code
|
Y
|
|
ความซับซ้อนในการพัฒนา
|
Y
|
|
Tool
ในการพัฒนา
|
DRAW
|
DRAW
|
การจัดการหน้าจอ
|
Y
|
|
SQLite
|
Y
|
|
Thread
Programming
|
Y
|
|
Design
หน้าจอ
|
Y
|
ปัจจัยที่ทำให้ประมวลผลช้าในการพัฒนาด้วย
HTML5
- ขนาดของ HTML ยิ่งมีขนาดใหญ่จะทำให้ App ช้าลง เพราะต้องโหลดมากขึ้น
- การ Include javascript,css ที่ไม่จำเป็น จะมีผลกับการประมวลผลของ App มาก
- ความเร็วของอินเตอร์เน็ต
สรุป
ถ้าการพัฒนา
Application
บน Mobile นั้นสะดวกสุด ตัวเลือกคือ
HTML5 เนื่องจากเหตุผลว่า การพัฒนาที่ง่ายและการ Reuse Code ทำให้เหมาะกับการพัฒนา Application Cross Plat form ที่สามารถใช้ได้ทั้ง
Windows,IOS,Android และการดีไซน์หน้าจอที่ใช้ HTML +CSS ทำให้การทดสอบและออกแบบหน้าจอไม่ได้ซับซ้อน
อธิบายเพิ่มเติม
สำหรับการพัฒนา
Application
บน Mobile โดยใช้รูปแบบของ Native Application
จะมีข้อเสียสำคัญดังนี้
- ความซับซ้อนในการพัฒนาและการจัดการหน้าจอแสดงผล ด้วยการเขียนโค้ดที่พึ่งพาภาษา Java และ Tool Eclipse ที่มีความยืดหยุ่นและหลากหลาย Eclipse มีความฉลาดน้อย ทำให้การพัฒนาต้องพึ่งนักพัฒนาที่มีความเชี่ยวชาญในการวาง Pattern อย่างดี เพื่อให้ความง่ายและเป็นระเบียบในการพัฒนา
- การดีไซน์หน้าจอที่ ยุ่งยากเกินไป และต้องทำถึงสองครั้ง โดยการทำแบบ Portrait และ Landscape ขณะที่ HTML5 จะมีโค้ดที่ Responsive ที่สามารถใช้ได้ไม่ว่าจะเป็นหน้าจอขนาดไหน
- การต้องหา Component สำหรับแสดงผล เช่นการแสดง กราฟ แสดงผลที่ไม่มี Support จำเป็นต้อง หาเป็น Open source เข้ามา
ข้อดีของ
Native
1) การทำ
Thread
Programming และการแสดงผลที่เร็ว ในการแสดงแต่ละหน้า Page ทำให้ เหมาะกับการพัฒนา Application ขนาดใหญ่
ที่มีการประมวลผล จำนวนมาก
2)
การติดต่อฐานข้อมูลและการทำ Backgroud
Process โดย Native App จะมีการใช้ SQLite
รองรับเต็มมรูปแบบ แต่ส่วนของ HTML5 ยังไม่มีการเปิดใช้เต็มรูปแบบทำให้หลีกเลียงไปใช้
WebStorage ประเภท LocalStroage แทนแต่ว่าก็ยังทดแทนได้ไม่เต็มที่นัก
สำหรับการพัฒนาด้วย
HTML5
จะมีข้อเสียดังนี้
1) ไม่เหมาะกับ
App
ที่ต้องมีการประมวลผลข้อมูลจำนวนมากๆ เนื่องจาก การประมวลผลของ Javascript
ไปยัง Server จะช้ากว่าของ Native ทำให้การใช้ข้อมูลจำนวนมากๆ ยกตัวอย่างเช่นการทำแอพพลิเคชั่น Social
Network ขนาดใหญ่อย่าง Facebook จึงไม่เหมาะ
เพราะการทำ Thread แบ่ง Thread ใน HTML5
นั้นทำได้ยาก ขณะเดียวกันใน Native กับทำด้านนี้ได้ดีกว่า
2) ไม่มีฐานข้อมูลรองรับ
ต้องพึ่งพา WebStorage เป็นหลัก
3) มาตรฐาน
HTML5
ยังไม่สมบูรณ์
4) ต้องพึ่งการ
Compile
จาก Phonegap อีกที ทำให้การแสดงผลช้ากว่าของ Native
5) การทดสอบ
Debugger
ทำไม่ได้ง่ายๆ
ข้อดีของ HTML5
1) ความยืดหยุ่นในการพัฒนา
โดยการยืดหยุ่นสูง ทำให้สามารถ Cross-Platform ได้ง่ายและด้วยมาตรฐาน
HTML5+Javascript+CSS ที่โปรแกรมเมอร์หลายคนในไทยมีความรู้ความเข้าใจทำให้แก้ไขและต่อยอดได้ง่าย
2) ระยะเวลาในการพัฒนาเร็วกว่าของ
Native
3) การจัดการหน้าจอด้วยแท๊ก
HTML5
ทำให้การพัฒนาง่ายและเร็ว พร้อมกับมี Concept Responsive ที่เขียนทีเดียวสามารถใช้ได้ทั้งหน้าจอแบบ Portrait และ
Landscape เลย
4) Component
ของทาง JQuery มีมาก ทำให้การค้นหา Tool
ไม่ยุ่งยาก
5) ไม่ต้องใช้ความรู้ในการพัฒนาสูง
สามารถแยกงานกันทำได้โดยแยกเป็นส่วนของ Service และ Client ได้ ในส่วนของ Client ถ้ามีการใช้ concept MVVM ก็จะทำให้การแสดงผลง่ายขึ้นอีก
และ Service ก็ไม่ต้องใช้ผู้ชำนาญมาก
การ
Connect
Server
Native
App และ HTML5 สามารถ Connect ได้โดยการ Connect ผ่าน RESTful เซอร์วิสที่ ต้องมี Server
ไว้ประมวลผล ทั้งนี้การพัฒนา Native App จะได้ประสิทธิภาพมากกว่าเพราะ
ผู้ขียนส่วนใหญ่มักจะสร้าง Database SQLite ไว้ที่ App
ทำใหเวลาใช้ App จะไม่ได้ connect กับทาง Server เพื่อแสดงผลตลอดทุกครั้งแต่จะมีการแบ่งโดย
Connect เข้าสู่ SQLite เพื่อแสดงผล
จากนั้นจะทำการประมวลผลเบื้องหลังโดยการ Connect กับทาง Server
ผ่าน Process อีกทางเพื่อ Synchronize ข้อมูลเข้าสู่ฐานข้อมูล SQLite ทำให้การแสดงผล
นั้นจะเร็วกว่า
ไม่มีความคิดเห็น:
แสดงความคิดเห็น