ผมมีคำถามที่ไม่เข้าใจ ให้ช่วยแนะนำแนวทาง ดังนี้ครับ
1. framework คืออะไร เกี่ยวข้องกับ library ไหม
2. แพลตฟอร์มกับสถาปัตยกรรมต่างกันอย่างไร
3. AJAX คืออะไรครับ
Framework นั้นใน Software development เป็นการสร้างโครงสร้างของ software project ที่สามารถรวบรวม และพัฒนาสิ่งต่าง ๆ ได้ โดยที่ framework นั้นจะมีโปรแกรมสนับสนุน (IDE), library, scripting language และซอฟต์แวร์อื่นๆ ที่ช่วยในการพัฒนา ตัวอย่าง Framework ก็ Eclipse ที่เป็น Java Framework จาก IBM, NetBeans จาก Sun Microsystems, Microsoft .NET จาก Microsoft, Ruby On Rails สำหรับเขียน Ruby, Cocoa จาก Apple Computer ฯลฯ ส่วนถ้าใน Hardware development เป็นพวกการรวมกันของระบบ เช่น SuperComputer ที่ต้องใช้ Hardware เฉพาะที่เข้ากันได้, Macintosh ที่ต้องใน CPU ที่ออกแบบมาเฉพาะสำหรับการทำงานร่วมกับ Mac OS เป็นต้น
ซึ่งในส่วนของ Framework ที่เป็น Software development นั้น บางครั้งก็สามารถแยกย่อยได้เป็น 2 ส่วนคือ Runtime และ SDK (Software Develop Kits) ซึ่ง Runtime นั้นเป็นการทำให้ซอฟต์แวรที่พัฒนาจาก SDK สามารถทำงานได้ โดยที่ไม่ต้องลง SDK ทั้งหมด ถ้าคิดง่ายๆ คือ SDK เป็น super set ของ Runtime อีกที
Library เป็นการรวมกันของ subprogram ที่ช่วยในการพัฒนาซอฟต์แวรต่าง ๆ ถ้าใน c/c++ ก็พวก stdio, iostream, string ฯลฯ ซึ่งเราต้อง include ถ้าใน java ก็พวก import ต่างๆ เช่น swing อะไรพวกนี้เข้ามาใน code ของเราเพื่อช่วยให้เราไม่ต้องเขียนในส่วนนั้น ๆ ตัวอย่างเช่นใ น MFC ที่สามารถ include Library พวก win32 เข้ามาเพื่อสร้าง GUI ในภาษา visual c++, visual basic
Architecture เป็นศาสตร์ และศิลปของการออกแบบสิ่งของ และโครงสร้างต่าง ๆ โดยมุ่งเน้นในความเป็นกลางของระบบที่เข้ากันได้ในแต่ละรายละเอียด ทั้ง Software และ Hardware
Platform เป็นรายละเอียดต่างๆ ที่นำมารวมกันของ framwork (ทั้ง hardware หรือ software) ที่ยินยอมให้ทำงานได้ ซึ่งมันเป็นการรวมกันของ Computer architecture, operating system หรือ programming language และรวมไปถึง runtime library ตัวอย่างเช่น Wintel เป็นการรวมกันของ Intel x86 หรือ compatible hardware และ Windows operating system, Macintosh เป็นการจัดจำหน่วยบน platform ของ Apple Computer hardware และ Mac OS operating system และพวก video game console ต่าง ๆ พวก xbox, ps(1,2,3) game cube ฯลฯ
AJAX หรือ Asynchronous JavaScript and XML นั้นเอง ซึ่งมันทำงานโดยใช้
- HTML/XHTML/CSS เพื่อแสดงผล
- Document Object Model ทำการส่งค่า html และทำงานโดยผ่าน JavaScript เพื่อทำการแสดงผลแบบ dynamic ให้กับ HTML/XHTML/CSS มากขึ้น
- XMLHttpRequest เพื่อทำการส่งข้อมูลเข้า และออก web server เพื่อประมวลผล
Web browser ที่สนับสนุนคือ
- Apple Safari 1.2 ขึ้นไป
- Konqueror ทุกรุ่น
- Microsoft Internet Explorer (and derived browsers) 4.0 ขึ้นไป
- Mozilla Firefox (and derived browsers) 1.0 ขึ้นไป
- Netscape 7.1 ขึ้นไป
- Opera 7.6 ขึ้นไป
- ฯลฯ ในอนาคต
ซึ่งจริงๆ แล้วเป็น Technology ที่ใช้ใน Outlook Web Access อยู่แล้ว ซึ่งทำงานผ่าน Microsoft Exchange Server โดยทำงานบน Microsoft Internet Explorer 4.0 ต่อมาในปี 2005 นั้น Google ก็เอามาใช้ใน Google Groups, Google Maps, Google Suggest และ Gmail
ถ้าไล่ตามลำดับแล้ว จากขนาดใหญ่ไปเล็กก็ไล่จาก
Platform -> Architecture -> Framework -> Library -> AJAX