สำหรับเครื่องมือที่ใช้ในการ Develop Cocoa App นั่น จะมาพร้อมกับ Mac OS X Developer Tools ซึ่งจะอยู่ในแผ่น Install ของ OS X ครับ หลังจากที่ Install ไปแล้วมันก็จะลงโปรแกรมให้เราเยอะแยะเลยครับ แต่ว่าที่เราจะใช้หลักๆ เลยในการ Develop นั้นก็คือ
ต้องเกรินไว้ก่อนเลยนะครับว่าข้อมูลที่ผมได้มาทั้งหมดเนี้ย ได้มาจากการอ่านหนังสือเล่นนี้ครับ 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 นั่นเอง