ต้องเกรินไว้ก่อนเลยนะครับว่าข้อมูลที่ผมได้มาทั้งหมดเนี้ย ได้มาจากการอ่านหนังสือเล่นนี้ครับ Cocoa programming for Mac

ประวัติศาสตร์

ย้อนไปเมื่อสมัยก่อนครั้งที่นาย Steve Jobs หรือที่เรารู้จักกานในในนามของผู้ก่อตั้ง Apple Computer มีปัญหากับ นาย John Sculley

ซึ่งเป็นคนที่ Jobs จ้างมาเพื่อเป็น CEO ของ Apple ในสมัยนั้น ทำให้นาย John นั่นได้ใช้อำนาจย้าย Jobs ให้ไปดูแลในแผนกที่เขาไม่มีอำนาจในการควบคุมทิศทางของบริษัท เรื่องราวครั้งนั้นเป็นเหตุให้ Jobs ต้องหนีออกจากบริษัทที่ตัวเองสร้างมากับมือ แล้วไปตั้งบริษัทใหม่ในนามว่า NeXT Computer

NeXT ได้เริ่มจ้างทีมวิศวะกรเล็กที่มีประสิทธิภาพเข้ามาทำงาน และทีมเล็กๆนี้เองก็ได้สร้างสรรค์สิ่งต่างๆขึ้นมามากมายภายใต้ NeXT เช่น

Operating System, Printer, Development tool etc. แต่ละชิ้นที่ NeXT ทำการสร้างขึ้นนั้น เรื่องของเทคโนโลยีนั้นไม่ต้องพูดถึง เรียกได้ว่าในสมัยนั้นล้ำหน้ากว่าเทคโนโลยีอื่นๆไปมาก แต่ว่า NeXT Computer ก้อไม่ประสบผลสำเร็จในยอดขาย ทำให้ในปี 1993 บริษัทต้องปิดตัวลงไป แล้วเปลี่ยนชื่อจาก NeXT Computer ไปเป็น NeXT Software แทน

ต่อมาเมื่อเปลี่ยนชื่อบริษัทมาเป็น NeXT Software แล้วนั้น (ในความคิดส่วนตัวของผมเอง ผมคิดว่า Jobs คงมุ่งเป้ามาที่ การพัฒนา Software อย่างเดียวแทน ) ก้อได้มุ่งมาพัฒนา Operting System และ Development tools และจำหนายภายใน brand ที่ชื่อว่า NeXTSTEP นั่นเอง ** ผมขอนอกเรื่องนิดนึง เพื่อเป็นเกล็ดความรู้ สำหรับคนที่เคยผ่านตา Objective-c มาบ้าง อาจจะส่งสัยว่า ทำไม class ใน Objective-c นั้นจะต้องนำหน้าด้วย NS อย่างเช่น NSString, NSArry, .. ไอ้เจ้า NS นั้นก็ย่อมากจาก NeXTSTEP นั่นเองครับ ** มาว่ากันต่อ แต่ว่าในสมัยนั่นคนธรรมดาทั่วไปก็จะไม่ค่อยรู้จัก OS หรือ IDE ของ NeXTSTEP สักเท่าไหร่ จะเป็นที่นิยมแพร่หลายให้หมู่ของพวกนักวิทยาศาสตร์มากกว่า เป็นเพราะว่า OS และ IDE ของ NeXTSTEP ในสมัยนั่นสามารถที่จะ Implement idea ในการ Develop application ได้เร็วกว่าเทคโนโลยีอื่นๆ ที่มีในสมัยนั้น

เจ้าตัว OS ที่ NeXT ทำในตอนนั้น NeXT ได้ตัดสินใจที่จะใช้ Unix เป็น core ด้วยเหตุผลที่ว่า Unix นั้นเป็นระบบที่เสถียรมากกว่า Microsoft Window และ Mac OS ในสมัยนั่น และยังมีประสิทธิภาพในด้วยของ Networking อีกด้วย ต่อมา NeXT ได้ทำการเขียน Window server ขึ้นมาเพื่อให้ OS ของตัวเองนั่นสามารถที่จะเป็นตัวส่ง events ต่างๆที่ถูกส่งมาจาก user ไปให้กับ application ใช้ในการประมวณผล และในทางกลับกัน application ก็จะทำการส่งผลลัพธ์ที่ได้กลับไปให้ window server แสดงผลให้กับ user นั่นเอง

หลังจากนั้นไม่นาน NeXTSTEP ก็ได้ทำการสร้าง Set of libraries และ Tools ขึ้นมาเพื่อที่จะให้โปรแกรมเมอร์สามารถที่จะสร้างและจัดการกับ window manager ได้อย่างง่าย ไอ้เจ้า Libraries ตัวนั้นเองได้ถูกตั้งชื่อว่า Frameworks ในปี 1993 และต่อมาได้เรียกรวมระหว่าง Libraries กับ Tools ว่า OpenStep หรือที่รู้จักกันที่ในนามของ Cocoa ในปัจจุบัน

**ส่วนตัวของผมยังใหม่กับ OS X อยู่มาก เพราะเพิ่งมาเริ่มใช้ตอนเป็น 10.5 แล้ว แต่หลังจากอยู่กับมันมา 1 ปีเต็มทำให้ผมรักมันเข้าแล้ว

ขอบคุณพี่มาย Rails dev. แห่ง safecoms ทีเป็นแรงบรรดาลใจให้ผมหั่นมา develop on Mac

ในตอนต่อไปเราจะมาพูดถึงการเตรียมความพร้อมก่อนที่จะเริ่มสร้าง Cocoa application กัน🙂

Have fun with WhenURnotAround