iPhone Development
Tagged:  •    •    •  

ว่าจะเขียน review ตั้งแต่สอนเสร็จล่ะครับ ว่าเป็นยังไงมั่ง ก็ขอสรุปแยกเป็นเรื่องๆ ละกันนะครับ

คนที่มาอบรม

เรื่องคนที่มาอบรมนี่ บอกตามตรงว่าเป็นปัญหากับผมและทีมงานค่อนข้างมาก เพราะว่า background หลากหลายเหลือเกิน ส่วนมากอาจจะมีประสบการณ์เขียน Java มาก่อนบ้าง แต่นอกนั้นถึงจะมีประสบการณ์เขียนโปรแกรมมาก่อน ก็เป็นพวก Web developer สาย PHP ซึ่งจะไม่ค่อยมีประสบการณ์ด้านการออกแบบ OOP เท่าไหร่นัก

ทำให้ผมค่อนข้างจะมั่นใจว่า การปูพื้นฐาน Object-Oriented ใหม่หมด โดยเฉพาะอย่างยิ่ง patterns ที่ Cocoa Framework ใช้งาน ไม่ว่าจะเป็น Property, Getter/Setter, Model-View-Controller, Target/Action, Outlet เป็นสิ่งที่ถูกต้องที่สุด เพราะว่าถึงจะเคยเขียน Java มาก่อน ก็ไม่ได้แปลว่าเราจะเข้าใจเรื่องพวกนี้ตรงกัน หรือว่าไปในทางที่เป็นประโยชน์ต่อการเขียนโปรแกรมใน Cocoa Framework

Objective-C

ผมเห็นว่า Objective-C มีปัญหากับหลายคนน้อยกว่าที่ผมคิด โดยเฉพาะอย่างยิ่งพวกที่เป็นภาษา Java มาก่อน เพราะว่ามันคล้ายกันมากๆ โดยเฉพาะอย่างยิ่งเมื่อมันมี Garbage Collector (ซึ่งใน Objective-C 2.0 มี แต่ยังไม่มีใน iPhone OS)

วันที่ 9-11 ตุลาคม 2552 นี้ Software Park ภูเก็ต จะมีการจัดงานอบรม iPhone Developer Camp โดยคนที่สอนคือ ผมเอง เลยขอเอา outline มาลงไว้ที่นะครับ ว่าจะมีอะไรบ้าง

วันที่ 9

  • เช้า
    • Warm-Up
      • Introduction to the course
      • Hello Cocoa (Mac Application)
      • Hello iPhone (iPhone Application)
    • Xcode tools & environment
  • บ่าย
    • "Just Enough" fundamentals and foundations
      • Object-Oriented Programming in Objective-C
      • Cocoa Basic and Cocoa Design Patterns
      • Anatomy of iPhone Applications
    • Day 1 Assignment: Window-based Application

วันที่ 10

  • เช้า
    • Day 2 Warm-Up: More on Objective-C
      • Features and Glossary
      • Memory Management (ไม่มี Garbage Collector บน iPhone!)
    • iPhone Application Basic Framework: Overall architecture and UIKit
  • บ่าย
      Day 2 Assignment: Navigation-based Application and More on UIKit

วันที่ 11

  • เช้า
    • More in UIKit and iPhone View
    • More Frameworks = More Fun & Functions!
  • บ่าย
    • Day 3 Assignment: Tab-bar Application and Utility Application
    • Wrap-up: What to learn more?

3 วัน เป็นไปไม่ได้ล่ะครับ ที่จะครอบคลุม iPhone Development ทั้งหมด จริงๆ มีทั้งเทอมก็ยังไม่พอเลยครับ ก็เลยวางไว้คร่าวๆ ได้แค่นี้แหละ แต่ว่าจะทำได้จริงแค่ไหน ก็ขึ้นกับหลายปัจจัยนะครับ โดยเฉพาะผู้เข้าเรียน ว่าจะทันแค่ไหน บางอย่าง ถ้าไม่เคยเขียนโปรแกรมบน Mac มาเลย อาจจะลำบากนิดหน่อย

แต่ว่าเมื่อ 3 ปีก่อน ผมเคยสอน Cocoa Bootcamp มา 2 รุ่น คือ Basic และ Advanced ซึ่งก็สอนได้ตามที่คิดไว้อ่ะนะครับ แต่ว่าท้ายๆ อาจจะเร็วไปบ้าง ครั้งนี้ก็คงจะคล้ายๆ กัน คือ ผมคงไม่สามารถ cover หลายอย่างที่หลายคนคงอยากเห็น เช่น Core Data, Core Animation, OpenGL ES หรือว่าอย่างอื่นได้หมดแน่ๆ แต่คิดว่าคงจะเป็นพื้นฐานที่มากพอ

อีกอย่าง Course นี้จะเน้นไปที่พื้นฐานของการพัฒนาโปรแกรมบน iPhone พอสมควรนะครับ ตั้งแต่ Objective-C, Cocoa, Cocoa Design Pattern อะไรพวกนี้ มากกว่าที่จะทำ Application อย่างเดียว ผมเชื่อว่าพื้นฐานเหล่านี้จะช่วยให้การพัฒนาต่อยอดด้านการเขียนโปรแกรมบน iPhone ทำได้จริงครับ

Tagged:  •    •    •    •    •  

สำหรับผู้ที่ศึกษาการเขียนโปรแกรมด้วย Cocoa Framework หรือ Cocoa Touch Framework และ Objective-C ส่วนมากจะคุ้นเคยกับการสร้างปุ่มโดยการวางลงไปในหน้า View ของเราที่อยู่ในหน้า Interface Builder แล้วก็สร้าง Action ขึ้นมาในคลาสแล้วก็ลากเชื่อม Action กับปุ่มที่เราสร้าง