เป็นหนังสือที่ผมแปลแต่ลืมโฆษณาครับ หวังว่ายังไม่สายเกินไป
หนังสือมีชื่อภาษาไทยว่า "รวมโค้ด iPhone" ต้นฉบับของมันคือ The iPhone Developer's Cookbook: Building Applications with the iPhone SDK โดย Erica Sadun นักเขียนหญิงแห่งเว็บไอทีหลายๆ เว็บ เช่น TUAW และ Ars Technica
หนังสือเล่มนี้ใช้สไตล์การเขียนแบบ cookbook หรือรวมสูตรอาหาร นั่นคือไม่ต้องอ่านต่อเนื่องกันทั้งเล่ม แต่เป็นสูตรการเขียนโปรแกรมว่า ถ้าต้องการได้โปรแกรมลักษณะนี้ต้องทำอย่างไรบ้าง อ่านเฉพาะส่วนนั้นแล้วนำไปแก้ปัญหา (เชิงโปรแกรม) ที่ต้องการได้ทันที มันไม่ใช่หนังสือสอนเขียนโปรแกรมบน iPhone สำหรับผู้เริ่มต้น ดังนั้นควรมีความรู้ของการเขียนโปรแกรมบนแมค, Xcode, ภาษา Objective-C และเคยลองเขียนโปรแกรมบน iPhone มาบ้างสักเล็กน้อยครับ
คำเตือนอีกข้อคือหนังสือเล่มนี้เขียนขึ้นตอนเฟิร์มแวร์ 2.0 ยังไม่ออก แต่เนื่องด้วยกระบวนการในการพิมพ์ที่ยาวนาน ทั้งเล่มต้นฉบับและเล่มแปลไทย ทำให้ออกมาตอนเฟิร์มแวร์ 3.0 ออกแล้ว หลายส่วนในหนังสืออาจล้าสมัยและใช้งานไม่ได้ แต่ถ้าอ่านเอาแนวคิดว่าปัญหาเชิงโปรแกรมลักษณะนี้ใช้เทคนิคอะไรแก้ไข แบบนั้นไม่มีล้าสมัยครับ (หมายเหตุ: ผู้เขียนเองกำลังอัพเดตหนังสือให้ใช้กับเฟิร์มแวร์ 3.0 อยู่ อาจต้องใช้เวอร์ชันนั้นประกอบการเขียนโปรแกรมจริง)
ฉบับภาษาไทยพิมพ์โดยสำนักพิมพ์ Future Gamer ราคาปก 295 บาท หน้าตาเป็นดังภาพ
ปกหลัง กดเข้าไปดูรูปใหญ่ได้
ข้างในหน้าตาประมาณนี้
ผมคัดบางส่วนของบทนำ มาให้ดูจะได้นึกภาพออกว่าในหนังสือมีอะไรบ้าง เหมาะกับเราหรือเปล่า ใช่อย่างที่ต้องการหรือไม่
ปัจจุบัน มีแพลตฟอร์มสำหรับการพัฒนาโปรแกรมบนมือถือจำนวนไม่มากนักที่จะมีระดับของเทคโนโลยีเทียบเท่ากับ iPhone ซึ่งนำเอาขีดความสามารถของ OS X มารวมกับนวัตกรรมของจอสัมผัสแบบมัลติทัช นอกจากนี้ยังมีระบบการบอกพิกัดตำแหน่ง, ฮาร์ดแวร์ accelerometer และความสามารถอื่นๆ อีกมาก เมื่อครั้งที่แอปเปิลเปิดตัวชุดพัฒนา iPhone (iPhone SDK) รุ่นเบต้าที่ใช้ Cocoa Touch ในช่วงเดือนมีนาคม 2008 เซิร์ฟเวอร์ของแอปเปิลถึงกับล่มเพราะต้องรองรับการดาวน์โหลดของนักพัฒนาจำนวนมาก และสุดท้ายแล้วยอดดาวน์โหลดสูงถึงหนึ่งแสนครั้งภายในหนึ่งสัปดาห์ หนังสือ iPhone's Developer Cookbook เล่มนี้เขียนขึ้นเพื่อเป็นแนวทางให้กับนักพัฒนาโปรแกรมบน iPhone หน้าใหม่ที่กำลังเข้าสู่ตลาดนี้เป็นจำนวนมาก
หนังสือเล่มนี้เหมาะสำหรับใครบ้าง?
หนังสือเล่มนี้ออกแบบมาสำหรับนักพัฒนาที่เพิ่งก้าวเข้าสู่โลกของ iPhone ซึ่งมีเป้าหมายชัดเจนอยู่แล้วว่าต้องการเขียนโปรแกรมอะไร แต่ยังไม่คุ้นกับชุดพัฒนาของ iPhone มากนัก แม้ว่าเป้าหมายในการพัฒนาโปแกรมของแต่ละคนจะต่างกัน แต่ผู้เขียนเชื่อว่ารูปแบบของงานที่ต้องทำก็จะไม่แปลกแยกจากกันมากนัก เช่น "เราจะสร้างตารางได้อย่างไร?" "เก็บค่าใน keychain อย่างไรดี?" "วิธีค้นหาชื่อในสมุดที่อยู่" "สลับตำแหน่งระหว่าง view ได้อย่างไร?" "ขอวิธีการใช้งาน Core Location"
กลุ่มเป้าหมายของหนังสือ iPhone's Developer Cookbook จึงเป็นทุกคนที่สนใจและเพิ่งเริ่มต้นกับการเขียนโปรแกรมบน iPhone เราพยายามเสนอตัวอย่างโค้ดที่มีคำอธิบายกำกับชัดเจนและครบครัน ซึ่งจะช่วยให้งานของคุณออกมาเสร็จเร็วขึ้น ตัวอย่างและวิธีแก้ปัญหาต่างๆ ในหนังสือเล่มนี้ได้รับการทดสอบมาเป็นอย่างดีว่าใช้งานได้จริง ทำให้โปรแกรมเมอร์สามารถโฟกัสไปที่ปัญหาเฉพาะของโปรแกรมที่ต้องการจะสร้าง ไม่ต้องมาสนใจปัญหาพื้นฐานที่ยิบย่อยแต่ซ้ำซากอีกต่อไป
โครงสร้างของหนังสือเล่มนี้
หนังสือเล่มนี้รวบรวมปัญหาที่นักพัฒนาโปรแกรมบน iPhone พบได้บ่อยๆ เช่น วิธีการวางส่วนต่างๆ ในอินเทอร์เฟซ, การตอบสนองกลับไปยังผู้ใช้, การเข้าถึงข้อมูลภายในเครื่อง, และการเชื่อมต่อกับอินเทอร์เน็ต จากนั้นได้เสนอวิธีการเขียนโปรแกรม (recipe) เพื่อแก้ปัญหาเหล่านี้ แยกเป็นคำตอบหนึ่งชิ้นต่อปัญหาหนึ่งข้อ ซึ่งโปรแกรมเมอร์สามารถก็อปปี้โค้ดของเราไปใช้งานได้ทันที หรือจะนำไปดัดแปลงต่อให้เหมาะสมกับความต้องการก็ได้ โครงสร้างของหนังสือได้รวมเอาเรื่องที่เกี่ยวข้องกันไว้ในบทเดียวกัน ผู้อ่านสามารถข้ามไปยังบทที่ต้องการหาได้ทันที โดยไม่ต้องเสียเวลามาพิจารณาว่าคลาสหรือเฟรมเวิร์คตัวไหนกันแน่ที่เหมาะสำหรับงานของเรา
นี่คือตัวอย่างของสิ่งที่คุณจะได้อ่านในบทต่างๆ
บทที่ 1: เริ่มต้นกับ iPhone SDK
บทที่ 1 เป็นการแนะนำชุดพัฒนา iPhone SDK ในเบื้องต้น และแนะนำ iPhone ในฐานะแพลตฟอร์มการพัฒนาโปรแกรม รวมถึงข้อจำกัดของมัน ในบทนี้จะอธิบายโครงสร้างมาตรฐานของโปรแกรมบน iPhone และสอนให้คุณเขียนโปรแกรมชิ้นแรกสุด Hello World
บทที่ 2: Views
บทที่ 2 แนะนำให้รู้จักกับ view ซึ่งเป็นองค์ประกอบพื้นฐานของโปรแกรมที่เห็นได้จากหน้าจอของ iPhone คุณจะเรียนรู้วิธีการสร้าง view จัดวางตำแหน่งของมันตามที่ต้อการ และนำ view ไปเป็นโครงสร้างหลักของโปรแกรมที่คุณจะพัฒนาขึ้น คุณจะยังได้เรียนเพิ่มเติมเกี่ยวกับลำดับชั้นของ view, การวาดภาพเชิงเรขาคณิต ,การสร้างภาพเคลื่อไหว รวมไปถึงวิธีการปฏิสัมพันธ์ระหว่างผู้ใช้กับ view ผ่านทางระบบสัมผัส
บทที่ 3: View Controllers
ถ้าให้อธิบายแนวทางการพัฒนาโปรแกรมบน iPhone ภายในหนึ่งประโยค ต้องบอกว่า "จอเล็ก แต่โลกเบื้องหลังจอนั้นกว้างใหญ่" ในบทที่ 3 นี้คุณจะรู้จักกับคลาส UIViewControllers ที่จำเป็นหลายชนิด ซึ่งจะช่วยให้คุณควบคุมการติดต่อระหว่างผู้ใช้โปรแกรมกับพื้นที่เสมือนเหล่านี้ และคุณจะได้เรียนรู้ว่าออปเจคต์ที่ทรงพลังเหล่านี้ทำงานอย่างไร เมื่อผู้ใช้สลับหน้าจอของโปรแกรมบน iPhone แต่ละตัว
บทที่ 4: การแจ้งเตือนผู้ใช้
iPhone ได้เตรียมวิธีการแจ้งเตือนเหตุการณ์ต่างๆ แก่ผู้ใช้โปรแกรมไว้หลายแบบ เช่น หน้าต่างป๊อปอัพ, แถบความคืบหน้า, เสียงเตือน และเตือนด้วยข้อความในแถบสถานะ บทที่ 4 สอนวิธีการสร้างการแจ้งเตือนเหล่านี้ในโปรแกรมของคุณ และเปิดโลกทรรศน์ของการแจ้งเตือนข้อมูลให้กับคุณ
บทที่ 5: การสร้างตารางขั้นพื้นฐาน
ตารางเป็นคลาสที่เหมาะมากสำหรับการแสดงผลบนหน้าจอขนาดเล็ก โปรแกรมส่วนมากบน iPhone และ iPod touch เช่น Settings, YouTube, Stocks และ Waether ต่างใช้ตารางเป็นองค์ประกอบสำคัญกันทั้งนั้น บทที่ 5 จะสอนว่าตารางบน iPhone นั้นทำงานอย่างไร มีตารางแบบไหนบ้างที่สามารถใช้ได้ และเราจะใช้ตารางกับโปรแกรมของเราได้อย่างไร
บทที่ 6: การสร้างตารางขั้นสูง
ตารางของ iPhone ไม่ได้เป็นแค่เพียงรายชื่อที่เลื่อนขึ้นลงได้เท่านั้น คุณยังสามารถแสดงตารางที่มีหัวเรื่อง, ตารางที่มีหลายคอลัมน์ และสามารถสร้างคอนโทรลแบบสวิตช์, เปลี่ยนพื้นหลังของตารางเป็นสีโปร่งแสง, ใช้ตัวอักษรแบบพิเศษ เป็นต้น เนื้อหาในบทที่ 6 จะนับต่อจากสิ่งที่บทที่ 5 ยังไม่ได้กล่าวถึง โดยจะมีสูตรการเขียนโปรแกรมสำหรับตารางขั้นสูงหลายชนิดให้คุณได้เลือกใช้
บทที่ 7: สื่อ
อย่างที่คุณน่าจะรู้อยู่แล้วว่า iPhone รองรับสื่อหลายฟอร์แมต มันสามารถเล่นเพลง เปิดภาพ เล่นหนัง และแสดงเว็บเพจได้ นอกจากนี้คุณยังใช้มันแสดงเอกสาร PDF และจัดเรียงภาพเป็นอัลบั้มได้ด้วย บทที่ 7 จะสอนวิธีการอิมพอร์ตหรือดาวน์โหลดข้อมูลลงในโปรแกรม แล้วแสดงผลข้อมูลเหล่านี้บนอินเทอร์เฟซแบบมัลติทัชของ iPhone
บทที่ 8: คอนโทรล
คลาส UIControl เป็นพื้นฐานสำคัญของการสร้างส่วนติดต่อที่ทำหน้าที่ปฏิสัมพันธ์กับผู้ใช้ เช่น ปุ่ม กล่องข้อความ แถบเลื่อน และสวิตช์ เป็นต้น บทที่ 8 แนะนำการใช้งานคอนโทรล ทั้งแบบที่ระบุไว้ในเอกสารของชุดพัฒนา และคอนโทรลพิเศษที่ไม่เคยถูกพูดถึงในเอกสาร
บทที่ 9: คน, สถานที่ และสิ่งของ
นอกจากอินเทอร์เฟซแบบมาตรฐาน และการจัดการกับสื่อหลายๆ ฟอร์แมตแล้ว iPhone SDK ยังเพิ่มทางเลือกแบบเฉพาะทางสำหรับงานพัฒนาโปรแกรมบน iPhone และ iPod touch มาให้ได้ใช้งานอีกจำนวนหนึ่ง เช่น การเข้าถึงสมุดที่อยู่ ("คน") ระบบ core location ("สถานที่") และเซ็นเซอร์ ("สิ่งของ")
บทที่ 10: การเชื่อมต่อกับบริการ
iPhone นั้นเป็นอุปกรณ์ที่ออกแบบมาสำหรับใช้งานเชื่อมต่อกับอินเทอร์เน็ต โดยเฉพาะต้องเชื่อมกับบริการต่างๆ ที่อยู่บนเว็บ แอปเปิลได้พัฒนาแพลตฟอร์ม iPhone ขึ้นมาจากรากฐานทางด้านบริการผ่านเครือข่ายหลายชนิด iPhone SDK นั้นรองรับซ็อคเก็ต, การเก็บรหัสผ่านลงใน keychain, SQL, การประมวลผล XML เป็นต้น ในบทที่ 10 จะกล่าวถึงเทคนิคพื้นฐานของการประมวลผลบนเครือข่าย และเสนอสูตรการเขียนโปรแกรมสำหรับงานที่ผู้ใช้ต้องทำเป็นประจำทุกวัน
บทที่ 11: One More Thing: เขียนโปรแกรม Cover Flow
แม้ว่า Cover Flow จะไม่ใช่องค์ประกอบหนึ่งของ iPhone SDK อย่างเป็นทางการ แต่มันก็เป็นวิธีการนำเสนอที่สวยงามและยอดเยี่ยมที่สุดอย่างหนึ่งของ iPhone คุณสามารถสร้างประสบการณ์การใช้งานที่ดีให้กับผู้ใช้โปรแกรมของคุณผ่านทาง Cover Flow ซึ่งจะทำให้รายการเลื่อนแบบปกติกลายเป็นของกระจอกไปเลย ในบทที่ 11 จะสอนการใช้งาน Cover Flow และวิธีการนำไปใช้กับโปรแกรมของคุณ
แน่นอนว่าหนังสือเล่มนี้ไม่เหมาะกับทุกคน บางคนอาจไม่สนใจ Mobile App หรือบางคนอาจสนใจแพลตฟอร์มอื่นๆ ที่ไม่ใช่ iPhone หรือบางคนอาจสนใจแต่ไม่มีเงินซื้อเครื่องแมค ก็เป็นได้
แต่ผมเลือกแปลหนังสือเล่มนี้เพราะเห็นว่าตลาดแอพพลิเคชันบนมือถือไม่ว่าแพลตฟอร์มใด เป็นหนทางที่สั้นที่สุดในการผลักดัน "ซอฟต์แว์ไทยไปซอฟต์แวร์โลก" (เคยเขียนเรื่องนี้ไว้ที่ Android Developer Challenge - โอกาสทองของเด็กไทย กับ iPhone SDK กับทิศทางซอฟต์แวร์บนมือถือ) ถ้ามันจะช่วยให้นักพัฒนาซอฟต์แวร์ไทยได้เปรียบ (หรืออย่างน้อยก็ไม่เสียเปรียบ) ในตลาด Mobile App ซึ่งเป็นตลาดเดียวครอบคลุมทั้งโลกได้สักนิด ผมก็ถือว่าคุ้มค่าแก่การแปลแล้วครับ
อยากลองเขียนโปรแกรมบน iPhone OS จังครับ
แต่คือไม่รู้จะเริ่มตรงไหนดี
เขียน C, C++ พอเป็น
ช่วยแนะนำหนังสือกน่อยนะครับ
ปล. หนังสือเล่มนี้น่าซื้อมากครับ
Deviceเพื่อ Zealot Devเพื่อ Zealot แปลโดย Anti-Zealot (ฮา)
แล้วทำไม Zealot ไม่เขียนหนังสือ?
มัวแต่ Dev?
onedd.net
onedd.net
มัวแต่กัดกับ apple user ;p
ไม่พูดไม่ได้หรือไง
เน้นเอาฮา สะกิดต่อม ขออภัย
ได้คำตอบ แคนโต้ ขอนับถือ
onedd.net
onedd.net
แคนโต้
เว้นวรรค
สอง spacebars
อันตอนเขียน จงใจเนียน แบบไฮกุ
เจอคำว่าแคนโต้เข้าไป มึนเลย ต้องไปเปิดกูเกิล ถึงได้รู้ว่าเป็นโคลงกลอนแบบหนึ่ง ตอนเขียนกะเอาแบบไฮกุ ช่วงนี้อารมณ์กวีขึ้น ดันเป็นแบบที่มีอยู่แล้วซะงั้น
เดี๋ยวลองไปจับๆ ดูดีกว่า สำนักพิมพ์นี้ดีอย่าง หนังสือแปล ราคาไม่แพง :D
แอบสงสัย หนังสือทำไมชอบลงด้วยเลข 5 แถมเป็น 95 ซะเยอะ
ไม่ลงด้วยเลขมหาจำเริญอย่าง 99 ...หว่า ?
Acting Reporter & My Elder Brother Blog
300 หูย แพง
299 มันก็ 300 บาทล่ะว้า แพง
295 อืม... ถูกดี ราคาพอรับได้ จัดไป 1 เล่ม
ที่จริง มีคนเขียนเรื่องราคาแบบนี้ไว้เป็นบทความชื่อ ทฤษฎีสินค้าลดราคา หัวข้อ Psychology Number 9 ตาม link ได้ใน google ครับ แต่เตือนไว้ก่อนว่า สาระทางวิชาการไม่ค่อยจะมี (Credit: phuphu@exteen)
แหมๆ อันดับแรกสุดก็เข้าไปหาที่ Amazon เลยทีเดียว เพิ่งมาถึงบางอ้อตอนเห็นเครดิต เลยเริ่มมาค้นหาด้วยภาษาไทย เลยเจอเต็มๆ
น่าสนใจมากเลยครับ...se-ed มีเปล่าครับ.
ลอง googling ดูก็เจอครับ
เห็นปกชื่อคุ้น ๆ เลยหยิบมาดูผ่านก็น่าสนใจดีครับ แต่ไม่เคยเขียน objective-c หรือมีเครื่องแมคไว้ใช้เลย
สงสัยอย่างนึงครับ ทำไมฟอนท์ที่ใช้แสดงโค้ดไม่เป็น monospace อะครับ หรือผมตาฝาดหว่า
ブルァッブジュルァッブ!
เห็นด้วยครับอ่าน code โดยใช้ฟอนต์แบบ monospace สบายตากว่ากันเยอะ
อันนี้คงแก้อะไรไม่ได้แล้ว แต่เดี๋ยวผมจะแจ้งไปยัง สนพ. ให้นะครับ
เดินหยิบดูที่ Se-ed จะซื้ออยู่แล้ว นึกขึ้นมาได้ว่า SDK ต้่อง Run บนเครื่อง mac ยังไม่มีเครื่อง mac เฮ้อ งั้นไปเขียนบน Android กับ Symbian หาตังค์ซื้อเครื่อง mac ก่อน
+1 555+
เจอที่ B2S เมื่ออาทิตย์ที่แล้ว เปิดดูอืม น่าสนๆ
เป็น Cook Book ก็ไม่น่ายากอะไร มีตัวอย่างให้ศึกษา
เอ.. จะเริ่มไงน๊าาา อ่อใช่ ใช้ iPhone SDK ไง
บนไหนนะ แน่นอนบน Mac ไง
"..."
วาง
ไว้ถ้ามีโอกาษ หยิบยืม Mac ใครมาลองได้ จะอุดหนุนแน่นอน
ป.ล. ปกสวยครับ ^^
I'm a DS Lover ^^
:: DigiKin8 ::
ปกนี่ใช้ของต้นฉบับภาษาอังกฤษครับ
+1 อยากเขียนโปรแกรมบน iPhone เหมือนกันนะ แต่ติดที่ว่ามันต้องใช้ Mac เนี่ยสิ :(
มี รวมโค้ด Android ไหมครับ กำลังสนใจอยู่ อิอิ
ของ สนพ. นี้ คือเล่มนี้ครับ Android Wireless Application Development ฉบับภาษาอังกฤษออกปลายเดือนนี้
ส่วนจะแปลหรือเปล่า อันนี้ขึ้นกับความสนใจของ สนพ. ที่ไทยครับ
แหล่มครับ ไปเปิดดูแต่ไม่ได้ซื้อครับ
ถ้าเป็น androidละ สอยไปแล้วครับ ผมไม่มีเครื่อง mac ลําบากที่จะเล่นครับ
ซื้อมาไว้แล้ว แต่ยังไม่ได้อ่านเลย
หน้าเกี่ยวกับผู้แปลพิมพ์ตกไปตัวนึง
blognone เป็น blognon ตกตัว e ไป ^^
แอบคิดชั่ว สงสัยว่าถ้าเอา osx ที่ขายตามพันธ์ทิพย์มาลง PC มันจะได้มั้ย
ต้องอุดหนุนซะหน่อยแ้ล้ว
---
Khajochi Blog : It's not a Bug ... It's a Feature
แฟนพันธุ์แท้สตีฟจ็อบส์ | MacThai.com
ซื้อมาแล้วล่ะครับ แต่ยังไม่ได้อ่าน :-)
พอดีซื้อมาหลังทำ iPod Touch หายไป ก็เลยยังไม่ได้ลองอะไรเลย 555
เห็นcommentเอาosxมาลงpc ละน่าคิดเลย อิอิ
Worasak.net | 1st home on cyber world. บ้านหลังแรกของผมบนโลกไซเบอร์.
หาซื้อไลด้ที่ไหนคับ
ติดตรงที่ว่าล้าสมัยแล้วนี้หล่ะครับ รอฉบับ update แล้วกัน
ไม่อยากจะโม้ว่าผมมีของ Android อยู่ในมือฮะ