สวัสดีครับเมื่ออาทิตย์ที่ผ่านมาผมได้รับความอนุเคราะห์จากคุณ Chachris – http://twitter.com/ChachrisTH ได้มอบเจ้า iPad มาให้ได้ลองเล่นเป็นเวลา 1 อาทิตย์เต็มๆ ต้องขอขอบคุณไว้ ณ ที่นี้ด้วยนะครับ
เอาละครับหลังจากที่ผมได้ iPad มาลองแล้ว ก็อยากจะแชร์ประสบการณ์และมุมมองในแบบของ developer ดูบ้าง เพราะผมคิดว่า ตอนนี้หลายๆเวปก็ได้ review ในด้านการใช้งาน รูปลักษณ์ภายนอก และอะไรไปมากแล้ว ฉะนั้นแล้วผมคงจะเขียน review ในมุมมองอื่นๆดูบ้างนะครับ
ตลาด Application
ณ ขณะที่ผมเขียน review ตอนนี้ก็เป็นเวลาที่ iPad ออกมาได้ 1 เดือนแล้ว และยอดขายกว่าล้านเครื่อง http://www.apple.com/pr/library/2010/05/03ipad.html ถือเป็นเรื่องที่ดีมากๆสำหรับ iPhone , iPad developer เพราะว่ามันหมายถึงว่าจำนวนตลาดของ application โตขึ้นไปด้วย ส่วนตัวผมค่อนข้างเชื่อว่า iPad จะขายได้เกิน 30 ล้านเครื่องภายใน 1 ปีนับจากที่ iPad ได้ออกจำหน่าย และถ้าหากยอดรวมกับ iPhone ที่มีในปัจจุบันแล้ว ก็นับว่าตลาดของคนที่จะ download application ของเรานั้นมากมายมหาศาล
ข้อดีของการเขียนโปรแกรมสำหรับ iPad
การเขียนโปรแกรม iPad นั้น มีข้อดีหลายอย่างครับคือ
- อันดับแรกก็ต้องบอกว่า เครื่องไม้เครื่องมือหลักๆก็เป็นตัวเดียวกันกับ iPhone นั่นก็คือ XCode และ Interface Builder ฉะนั้นแล้วถ้าหากว่าเราเคยเขียนโปรแกรมด้วย iPhone อยู่แล้ว ก็ไม่จำเป็นต้องเรียนรู้เครื่องมือในการพัฒนาเพิ่มเลย
- อย่างที่สองคือภาษาที่ใช้เขียนโปรแกรมใน iPad นั้นใช้ภาษา Objective-C ครับ เราไม่ต้องไปเรียนรู้ภาษาใหม่ให้ยุ่งยาก
- SDK ที่ใช้ในการเขียน iPad คือ iPhone SDK 3.2 for iPad ครับ ถ้าหากว่าติดตั้งลงไปแล้ว ก็จะมี iPad Simulator มาให้ด้วย เหมือนกับที่มี iPhone Simulator นั่นเหละครับ แต่สิ่งที่เราต้องเรียนรู้เพิ่มก็คือการใช้ Control ต่างๆที่มีอยู่ใน iPad เช่น Split View
- ตัวเครื่องมีแบบเดียว ไม่ต้องกลัวว่าเขียนแล้วจะใช้ไม่ได้ ไม่เหมือน Netbook หรือมือถือ ที่มีขนาดหน้าจอ และเครื่องที่แตกต่างกันมากมาย
- มีแหล่งความรู้เพิ่มเติมมากมาย และมี community ที่ใหญ่
- ได้เป็นสาวก โดยส่วนตัวผมชอบคำว่า สาวก Apple นะครับ แม้ว่าความหมายจะเป็นคำที่เอาไว้ใช้แขวะ กัดจิก ของคนที่คลั่งใคล้ apple มากๆ แบบไม่ลืมหูลืมตา ( เค้าว่าอย่างนั้น ) แต่ผมเชื่อมั่นในศาสดาครับ ฮ่าๆ
สรุปว่าแทบจะไม่มีอะไรที่เราต้องเปลี่ยนเลย มีเพียงแค่เพิ่มในส่วนของ UI Control ของ iPad เข้ามาเท่านั้นเองครับ ถ้าหากว่าเขียนโปรแกรม iPhone มาแล้วรับรองว่าการเปลี่ยนไปเขียน iPad นั้นคงใช้เวลานิดเดียว
Device
ถ้าพูดถึงตัวเครื่อง iPad แล้ว จากประสบการณ์ของผมนั้น ถ้ามองในมุมที่ว่า ต้องพัฒนาโปรแกรมใน iPad ต้องคำนึงอะไรเพิ่มเติม และอะไรที่แตกต่าง iPhone ก็พอจะแยกได้ดังนี้ครับ
- ความเร็ว ต้องบอกเลยครับว่ามันเร็วกว่า iPhone 3GS มากๆ อาจจะเกือบสองเท่าด้วยซ้ำไป เพราะด้วยที่ว่ามันมี CPU ที่แรงกว่านั่นเอง ถ้าหากว่าเขียนเกมส์ 3D ก็น่าจะใส่ Texture ที่มีความละเอียดได้มากกว่า iPhone แน่นอน และไม่ต้อง Optimize ลดจำนวน Polygon มากเท่า iPhone หรือจะเขียนโปรแกรมที่มีความซับซ้อน ต้องการกำลังการประมวลผลสูงๆ เช่นพวกโปรแกรมแก้ไขรูปภาพก็คงจะใช้งานได้มากกว่า iPhone แน่นอน
- ขนาดหน้าจอ แตกต่างจาก iPhone ค่อนข้างเยอะมาก มันใหญ่มากครับ เรามีพื้นที่ใช้สอยเยอะมาก อย่างโปรแกรม iPhone ค่อนข้างมีหน้าจอที่จำกัด โปรแกรมเกือบจะทุกโปรแกรมจะใช้ Navigation , Tabbar เป็นตัวเพิ่มพื้นที่หน้าจอ ทำการสลับไปมาระหว่างส่วนต่างๆ แต่ iPad มีขนาดหน้าจอที่ใหญ่กว่ามากครับ เราอาจจะเอาทุกๆอย่างมารวมในหน้าจอเดียวก็ได้
- น้ำหนัก – iPad มีนำ้หนักมากกว่า iPhone ครับ ใช้ไปนานๆเมื่อยมือแน่นอน ถ้าคิดว่าจะทำอะไรเกี่ยวกับ accelerometer เช่นเกมส์กลิ้งลูกบอล เกมส์แข่งรถที่บังคับด้วยการเอียง , doodle อะไรทำนองนี้ต้องคิดให้ดีครับ ใช้ไปสัก 5 นาทีก็เริ่มเมื่อยแล้วครับ ไม่เหมือน iPhone ครับถือเป็นชั่วโมงก็ไม่เมื่อย
ทดลองใช้ iPhone App
หนึ่งสิ่งที่ iPad สามารถทำได้ก็คือการเปิด iPhone App ได้ หลังจากที่ผมได้ทดลองเอา App ที่มีอยู่แล้วเช่นเกมส์มาทดสอบ ก็ผลปรากฎว่าได้ผลที่ยอมรับได้นะ คือมันเล่นได้จริงๆนั่นเหละ ผมสรุปให้ได้ว่า
- ใช้งานได้จริง แม้กระทั่งเกมส์
- มีให้เลือกปรับขนาดหน้าจอ 2 แบบคือแบบเกือบเต็มจอ และแบบขนาดใกล้เคียงกับ iPhone ( เค้าบอกว่าขนาดมันเท่าหน้าจอ iPhone ) แต่จากที่ได้ลองจริงๆแล้วมันไม่เท่าครับ
- ความรู้สึกส่วนตัวผมว่า สีมันเข้ม และไม่สว่างเท่า iPhone นะ
ลองดูรูปตัวอย่างจากหน้าจอที่ผม Capture มาให้ดูดีกว่าครับ
จากรูปแรกนี้ผมได้เปิดโปรแกรมที่ผมเขียนเอง ลองทดสอบใช้งานในแบบ ขนาดเท่า iPhone ดูก็ได้ผลปรากฎเหมือนในภาพ สรุปง่ายคือ
- ตัวหนังสือ รูปภาพก็ไม่ได้แตก ยังคมใช้ได้
- ยังมีความเพี้ยนของโปรแกรมปรากฎให้เห็นเล็กน้อยครับ ลองสังเกตุตรง Search Bar ครับ จะเห็นว่ามันเป็นสีน้ำเงิน ทั้งๆที่จริงๆแล้ว ใน iPhone มันจะเป็นสีน้ำตาลอ่อนเหมือนกับ Titile Bar ข้างบน
- ความรู้สึกผมตอนใช้งานไม่เป็นไปดังที่คิด เพราะมันไม่ได้ให้ความรู้สึกเหมือนการใช้งาน iPhone เลย ผมกลับรู้สึกว่าเหมือนเราเปิดโปรแกรม iPhone ใน iPhone Simulator ( โปรแกรมในชุดพัฒนา iPhone ) ซะมากกกว่า
ทีนี้มาทดสอบการใช้งานแบบเปิด 2x ดูบ้างว่าผลเป็นอย่างไร
จากการใช้งาน สรุปได้ว่า
- รูปภาพและตัวหนังสือเบลอครับ เห็นแตกเป็น pixel เลยทีเดียว
- ความรู้สึกดีขึ้นกว่า การใช้งานแบบเปิดขนาดเท่า iPhone แต่มันก็ยังแปลกอยู่ดี
- โปรแกรมก็ยังเพี้ยนเหมือนเดิม
ทีนี้มาดูรูปเปรียบเทียบกับ iPhone ดูดีกว่า
สิ่งที่ Devleoper ควรจะคำนึงในการเขียนโปรแกรมสำหรับ iPad
- ถ้าหากคุณเป็นนักพัฒนาโปรแกรมบน iPhone มาก่อนนั้น โปรแกรมของคุณ ต้องแทบจะออกแบบใหม่หมดเลยครับ เพราะอย่างที่ผมบอกไปว่าหน้าจอ iPad มีขนาดใหญ่มากๆ เราสามารถที่จะรวมเอา View หลายๆ View มารวมกันได้ ด้วยหน้าจอเดียว เราควรจะใช้ประโยชน์จากหน้าจอที่ใหญ่ขึ้นให้เป็นประโยชน์
- iPad ไม่ใช่ iPhone ขนาดยักอย่างที่หลายคนบอกมา แม้ว่ามันจะคล้ายกับ Netbook แต่การใช้งานโดยปกติมันก็ไม่เหมือน Netbook เลย ลักษณะการใช้งาน iPhone นั้นใช้มือข้างเดียวถือแล้วเอาอีกนิ้วจิ้ม ส่วน Netbook นั้นหน้าจอภาพอยู่ตรงหน้าเราและมีแป้นเป็นตัวควบคุม แต่ iPad โดยปกติการใช้งานคือต้องเอาวางที่หน้าตักใน แล้วจออยู่ในแนวแบบราบเป็นสิ่งที่เหมาะสมที่สุด
- โปรแกรมไม่ควรจะใช้พวก Accelerometer เป็นจุดเด่น เช่นพวกเกมส์ที่ใช้การบังคับด้วยการเอียงเครื่องอย่างเกมส์ doodle นี่เลิกคิดได้เลย ไม่เหมาะเลย มันเหมือนกับเรายกโน๊ตบุคตัวหนึ่งเอียงซ้ายขวาเล่นเกมส์ มันจะเล่นได้สักเท่าไหร่กัน ?
- ควรจะใช้ Control พวก Split View แทน Tabbar , Navigation Bar เพราะมันสะดวกกว่า เหมาะสมกว่า
จากทั้งหมดที่ผมกล่าวมา น่าจะพอมองเห็นภาพโดยรวมนะครับ ว่าโปรแกรมของเราควรจะออกแบบลักษณะแบบไหน สิ่งที่ผมอยากจะฝากไว้คือ ก่อนจะทำอะไรสักอย่างเราควรจะพิจาณาตัวเครื่องก่อนครับ ว่าเราจะเขียนมันเพื่อ iPad หรือ iPhone เพราะมันไม่เหมือนกันเลย ต้องคำนึงประสบการณ์การใช้งานของผู้ใช้เป็นหลักครับ แล้วโปรแกรมของเราก็จะออกมาดี








biggoogle says:
ยังไม่เริ่มเขียนซักอันเลย คงจะเริ่มจาก iPad เลยดีมั๊ยครับ
May 11, 2010, 3:11 pmadmin says:
ได้แน่นอนครับ
May 13, 2010, 10:45 amkantae says:
ขอเข้ามาเรียนรู้ด้วยคนนะครับ
July 26, 2011, 12:17 am