jQueryTips by Tee++;

  • Home
  • Videos
  • jQueryTips's Fans

Coding like playing a piano.

Subscribe RSS

Search

Search

Sponsored

jQueryTips on Social

Followers

hide
Chainnnn Pang25441 Dexteri@n Ton KanexKane Supachai JustDoIt Rut petchy Tophit anndrew Webmaster

Categories

hide
  • Programing
  • Database
  • Framework
  • Mobile Development
    • Titanium Mobile
    • PhoneGap
  • Life

Tag Cloud

hide
PHP JavaScript MySQL XML Mobile jQuery CodeIgniter Hash php xml Debug Library Zend API Events Plugins Facebook Basic Registration Tool Twitter Search Swath Performance ffmpeg YouTube Web Service Yahoo! NoSQL MongoDB PhoneGap

Recent Posts

hide
  • ใครๆ ก็มี Utils เอางี้เราเพิ่ม Utils ให้กับ CodeIgniter กันบ้าง
  • แนะนำ JS.Class (A JavaScript class library)
  • PHP กับ OOP มาปูพื้นฐานกันเสียใหม่ก่อน
  • ประกาศข่าวสารจาก Admin
  • JSFIDDLE สุดยอด Tools สำหรับการ Debug การเขียนตัวอย่างโคด
  • Titanium Mobile + HTML + Native Scrolling
  • HTML to PDF ตัวไหนดี วันนี้ผมมีคำตอบ ...
  • ทำความรู้จักกับ JavaScript Pattern ในเชิงลึก
  • ผมบอกคุณแล้ว .... คนโง่ก็ Code ได้
  • วันนี้ มาออกแบบ Web Service ด้วย PHP กันเถอะ (CodeIgniter Version)

Recent Comments

hide
  • เยดดดด
  • มีตัวอย่าง CI แบบ เพียว ๆ ไหมครับ
  • ขอบคุณมากครับ เห็นแนวทางได้ชัดขึ้นจากตอนแรก ที่งงไปหมด ไม่รู้อะไรเป็นอะไร
  • ขอบคุณมากเลยครับท่าน....แหม่เพิ่มกำลังใจให้ผมได้เยอะเลย ตอนนี้กำลังฝึกงานอยู่ที่แห่งนึงในหาดใหญ่ พร้อมเด็กจากอีกสถาบันนึง 3 คน เราคิดว่าเรา…
  • Very good blog, I really like ~

Links

hide
  • OSCOOL
  • Architeture & Performance
  • Video and TV
  • Appcelerator
  • PhoneGap
  • Home
  •  » Blogs

ข้อมูลที่จำเป็นต้องรู้ก่อนเริ่มลงมือเขียน iOS Application

Jun 26, 2011 5:58:27 PM | 6 Comments | in Titanium Mobile | Mobile, iOS, Titanium

 

ก่อนที่จะลงมือเขียน iOS App นั้นเราต้องทำความเข้าใจก่อนว่า วิธีการเขียนนั้น มันไม่ได้มีวิธีการเดียว แต่มันมีถึง 3 วิธีด้วยกัน ซึ่งก็คือ Native, Web View, Hybrid โดยที่แต่ละตัวก็อาจจะมี ประเภทย่อยๆ แล้วก้ชนิดของมันลึกลงไปอีกบ้าง แต่ว่าไม่ใช่สาระสำคัญอะไร

ทีนี้ผมจะขออธิบาย ตามความเข้าใจแบบ งูๆ ปลา ของผมก่อน แล้วกัน ถูก ไม่ถูกยังไง ก็ขอให้เข้าใจไว้ว่า ผมมัน "มือใหม่"

1. Native App

App ประเภทนี้ก็คือ App ที่เขียนตาม Rules ของ Apple ล้วนๆ คือใช้ Xcode พัฒนาโปรแกรมด้วย Objective C แบบตรงๆ ซึ่งผลที่ได้ก็คือ Performance ดีเยี่ยม ความเสี่ยงที่จะไม่ได้รับการ Support เป็น 0 อภิสิทธิ์ เหนือชั้น

แต่ข้อเสียมันก็คือ ต้องไปเสียเวลาพอสมควรในการ Learning แล้วพอ เรียนจนฉลาดแล้ว แม่งก็ทำอะไรได้ไม่กี่อย่าง เพราะภาษามันเฉพาะเหลือเกิน

แต่ทว่าก็ไม่อยากให้ทิ้ง อยากให้เป็นตัวที่เราพยายามเรียนรู้ไป ในขณะที่กำลังเขียนในรูปแบบอื่นๆ

2. Web View

อันนี้เป็นตัวเลือกในกรณีที่เราต้องการ App แบบเร่งด่วน แล้วก็ไม่ต้องการลูกเล่นอะไรมากมายนัก ไม่จำเป็นต้องติดต่อกับ Feature ภายในตัวเครื่อง ภาษาที่เขียนก็ Web Skill ล้วนๆ ครับ เขียนเสร็จก็เอา Native เรียก URL ตรงๆ มาเลยก็เสร็จแล้ว ไม่จำเป็นต้อง Learning อะไรใหม่เลย ถ้าคุณเป็น Web Dev อยู่แล้ว

โดยที่คุณอาจจะมีตัวช่วยหน่อยก็คือพวก Mobile Web Framwork อย่าง jQTouch, jQuery Mobile, Sencha Touch เพื่อให้มันดูโปรขึ้นมาอีกนิด

แล้วก็ความคิดเห็นส่วนตัว ถ้าให้ผมเลือกใน 3 ตัวนี้ผมเลือก Sencha ครับ เพราะความดูมัน Look Native ที่สุด

ข้อเสียก็คือ App มันดู ป๋องๆ แป๋ง ใช่มั้ยล่ะ ? แล้วก็ติดต่อกับ Feature เช่นพวก  กล้อง, Location Base, Network อะไรพวกนี้ไม่ได้เลย !!!!

แล้วก็ความเร็วของ App มันจะไปผูกกับ Web Server แทบจะ 100% เลยทีเดียว แต่มันก็สะดวกและเร็วมากๆ คุณอาจจะเอามาเป็นตัวเลือกแรก ในการหัดทำแรกๆ ก็ไม่เสียหายหรอก

3. Hybrid App

App ประเภทนี้ชื่อมันก็บอกอยู่แล้วว่าเป็นลูกผสม โดยที่คุณ สามารถจะใช้ Web Skill โดยที่ยังติด่อกับ Feature ในตัว iOS Device ได้อีด้วย

โดยหลักการของมันก็คือ คุณจะเขียนอยู่ใน Framwork หรือ SDK อีกทีนึง ด้วยเทคนิคนี้ Web Skill ของคุณจะโดยหั่นเหลือแค่ ทักษะในการใช้ HTML5 + Javascript ถ้าจะเขียนพวก Server Side Script คุณจะต้องทำออกมาเป็น Web Service เอง

หลักการของมันก็คือ ไฟล์ HTML + JS ทั้งหมดของคุณจะถูกฝังลงไปเป็นตัว App ด้วย แล้วก็โดนเรียกจากภายในตัวเองเท่านั้น ถ้าต้องการส่ง  หรือ รับ Data จากภายนอก จะส่งกันผ่าน XHR (จริงๆ คุณจะเรียก URL ออกมาก็ได้ แต่ถ้าทำแบบนั้น AppStore จะไม่มีทางรับคุณเข้าไปอาศัยด้วย 555)

ส่วนการติดต่อกับ Feature ภายในจะใช้ SDK ที่ใช้งานร่วม ที่มี API เป็น Javascript Syntax  ให้ใช้งาน

Framework ประเภทนี้ก็จะมีพวก PhoneGap, Titanium Mobile, NimbleKit, etc.

ข้อดีก็คือ ใช้เวลาศึกษาไม่นานเลย เพราะว่า Web Dev ส่วนมากจะมี Skill ทาง Javascript อยู่บ้างแล้ว ไม่มากก็น้อย ไม่น้อยก็ควรจมีบ้าง 5555

ส่วนมาก Framework พวกนี้จะเขียนที่แล้วออกมาได้หลาย Device เลยเช่น iOS, Android, RIM, Window Phone 7*, Symbiam*

* ส่วนมากมักจะไม่สมบูรณ์

แล้วก็สามารถทำงานได้เร็วกว่า Web View เพราะว่าเรียกไฟล์ภายในตัวเอง ที่สำคัญสามารถเรียกข้อมูล ออกมาภายนอก โดยไม่กังวลเรื่อง Cross Domain (ก็ App มันไม่มี Domain นี่หว่า) แล้วก็ API พวกนี้ส่วนมากจะมีชุดของ Local Storage มาให้ใช้เป็น Basic อยู่แล้ว 5MB ทำให้ง่ายในการจัดเก็บข้อมูล

แล้วข้อเสียล่ะ ?

มันก็ไม่เร็วเหมือน Native App Performance ก็ต่ำกว่า แล้วก้มี เปอร์เซ็นต์บ้างที่เวลา OS มันอัพเดท เราอาจจะต้องมารอ ชุด Framework ครอบพวกนี้ อัพเดท เพื่อที่จะได้ใช้ Feature ใหม่ๆ

 

เอาล่ะ นี่คือคร่าวๆ ......

 

แต่ทีนี้ในจำนวนรูปแบบการเขียน Hybrid มันก็มีบางแบบที่น่าสนใจมาก ก็คือ แทนที่มันจะเป็น Hybrid แบบปกติ แต่ยังเสือกใช้ Native UI ได้อีก เลยทำให้ App เนียนมากขึ้นไปใหญ่อาทิเช่น Titanium Mobile, NimbleKit*

* NimbleKit  ผมไม่ได้ลองเล่น เลยไม่รู้ว่ามันจะจริงมั้ย ??

ถ้าอยากดูว่ามันเนียนแค่ไหน ลองโหลด Wunderlist จาก AppStore มาดู ตัวนั้นและ App ที่มีชื่อเสียง แล้วก็ทำจาก Titanium Mobile

 

เกริ่นกันไว้แค่นี้ก่อน ระหว่างนี้ใครสนใจก็ไปลองศึกษาเพิ่มเติมนะครับ ครั้งหน้าผมจะเข้าสู่เรื่องของ Titanium Mobile, Tiranium Studio กันเลย

twitter stumbleupon delicious digg facebook

6 comments

Add comment Load previous All comments

Leave a comment

Post Comment

Powered by OSCOOL. You may view this on RSS or ATOM.

OSCOOL

  • Twitter
  • Facebook
  • Next