ประวัติAppML


ในปี 2542 Refsnes Data ได้พัฒนา AppML เวอร์ชันแรก

จากนั้น AppML ก็ใช้การสื่อสารคำขอ HTTP ระหว่างเว็บไคลเอ็นต์และเว็บเซิร์ฟเวอร์ ต่อมาวิธีนี้กลายเป็นที่รู้จักในชื่อ AJAX

ในเดือนกันยายน พ.ศ. 2543 ได้มีการเริ่มโครงการพัฒนาสำหรับลูกค้าชาวนอร์เวย์รายใหญ่ เป้าหมายของโครงการคือการแปลงระบบข้อมูลขนาดใหญ่ (ประมาณ 300 แอปพลิเคชัน) จากแอปพลิเคชันเดสก์ท็อป Windows เป็นแอปพลิเคชันอินเทอร์เน็ตที่ทันสมัยโดยใช้ AppML เท่านั้น

ระบบที่ใช้ AppML เปิดตัวในปี 2544 หลายเดือนก่อนกำหนด เป็นแอปพลิเคชัน AJAX เชิงพาณิชย์เครื่องแรกของโลก โปรเจ็กต์ประสบความสำเร็จอย่างมาก โดยเวลาในการพัฒนาลดลง 75% เมื่อเทียบกับการพัฒนาเว็บทั่วไป ตั้งแต่นั้นมา มีการเพิ่มแอปพลิเคชันใหม่ และขณะนี้ระบบครอบคลุมแอปพลิเคชันที่ทำงานอยู่มากกว่า 1,000 รายการ

ในเดือนกุมภาพันธ์ 2015 W3Schools ได้เปิดตัว AppML อีกครั้งเป็นผลิตภัณฑ์ใหม่ โดยเปิดให้สาธารณชนเข้าชม

เป้าหมายการออกแบบ AppML:

  • แอปพลิเคชัน AppML ต้องทำงานผ่านอินเทอร์เน็ต
  • แอปพลิเคชัน AppML จะต้องเป็นอิสระจากแพลตฟอร์ม
  • แอปพลิเคชัน AppML ต้องใช้มาตรฐานอินเทอร์เน็ตเท่านั้น (HTML, CSS, JavaScript)
  • แอปพลิเคชัน AppML ต้องรองรับความต้องการแอปพลิเคชันที่หลากหลาย
  • แอปพลิเคชัน AppML จะต้องอธิบายตนเอง
  • แอปพลิเคชัน AppML จะต้องง่ายต่อการพัฒนา บำรุงรักษา และเปลี่ยนแปลง
  • แอปพลิเคชัน AppML ต้องเป็นหลักฐานในอนาคต

ย่อหน้าด้านล่างอธิบายวิสัยทัศน์ดั้งเดิมของ Refsnes Data (1999) เกี่ยวกับเว็บแอปพลิเคชันในอนาคต


ไฟล์ปฏิบัติการจะตาย JavaScript จะมีชีวิตอยู่

ไฟล์ปฏิบัติการที่คอมไพล์แล้ว (คอมไพล์จากภาษาเช่น C หรือ Java) ไม่สามารถทำงานบนฮาร์ดแวร์อื่นได้

ไฟล์เรียกทำงาน (ไฟล์ EXE, วัตถุ ActiveX และ COM, ไฟล์ DLL) เป็นส่วนประกอบที่ขัดขวางการพัฒนาแอพพลิเคชั่นที่สามารถทำงานได้บนอินเทอร์เน็ต

แอปพลิเคชันในอนาคตจะไม่ใช้หรือพึ่งพาโปรแกรมเรียกทำงานหรือส่วนประกอบอื่นใดที่ติดตั้งในคอมพิวเตอร์ของไคลเอ็นต์

คำแนะนำของเรา:

เขียนแอปพลิเคชันในอนาคตของคุณโดยใช้ HTML, CSS และ JavaScript เท่านั้น

ตรวจสอบให้แน่ใจว่าแอปพลิเคชันในอนาคตของคุณทำงานในเว็บเบราว์เซอร์ใดก็ได้


เว็บแอปพลิเคชันจะเป็นบริการอินเทอร์เน็ต

ประวัติเต็มไปด้วยแอปพลิเคชันที่สร้างขึ้นตามวัตถุประสงค์ขนาดใหญ่ สิ่งเหล่านี้จำนวนมากเสียชีวิตอย่างรวดเร็ว เพราะพวกเขาไม่สามารถทนต่อการเปลี่ยนแปลงข้อกำหนดได้

แอปพลิเคชันควรมีความยืดหยุ่น มีลักษณะทั่วไป และปรับให้เข้ากับการเปลี่ยนแปลงได้อย่างสวยงาม โดยไม่แตกหรือถูกทำลาย

แอปพลิเคชันควรสามารถปรับขนาดได้ตั้งแต่รองรับคำขอสองสามล้านคำขอต่อวัน

แอปพลิเคชันควรจะสามารถแพร่กระจายจากเซิร์ฟเวอร์หนึ่งไปยังหลาย ๆ เซิร์ฟเวอร์ หรือสามารถย้ายระหว่างเซิร์ฟเวอร์ได้โดยไม่ทำให้แอปพลิเคชันเสียหาย

แอปพลิเคชันควรจะสามารถทำงานร่วมกับแอปพลิเคชันอื่นได้

แอปพลิเคชันไม่ควรมีโค้ดจำนวนมาก

แอปพลิเคชันควรแบ่งออกเป็นบริการที่มีขนาดเล็กลง ซึ่งง่ายต่อการสร้างและบำรุงรักษาง่าย

แอปพลิเคชันควรเป็นชุดของบริการอินเทอร์เน็ตที่สามารถส่งคืนข้อมูลไปยังคำขอทางอินเทอร์เน็ตที่ส่งมา

แอปพลิเคชันควรขอบริการผ่านโปรโตคอลอินเทอร์เน็ตมาตรฐานโดยไม่ต้องรักษาการเชื่อมต่อถาวรกับเซิร์ฟเวอร์ 

คำแนะนำของเรา:

เขียนแอปพลิเคชันในอนาคตของคุณโดยใช้ SOA บนอินเทอร์เน็ต (Service Oriented Architecture)

ทำให้บริการแอปพลิเคชันของคุณเป็นแบบทั่วไปและยืดหยุ่น และพร้อมที่จะให้บริการคำขอประเภทต่างๆ


แอปพลิเคชันในอนาคตจะสร้างและแก้ไขได้ง่าย

ลูกค้าและเซิร์ฟเวอร์จะแลกเปลี่ยนข้อมูลด้วยวิธีที่เข้าใจง่าย

แอปพลิเคชันจะไม่ถูกเข้ารหัสหากสามารถหลีกเลี่ยงได้

แอปพลิเคชันจะถูกสร้างขึ้นและแก้ไข โดยการแก้ไขโมเดล ไม่ใช่โดยการแก้ไขโค้ด

มนุษย์สามารถอ่านคำอธิบายแอปพลิเคชันได้

คำอธิบายแอปพลิเคชันจะเป็นการอธิบายตนเอง

ผู้ใช้จะเขียนแอปพลิเคชันเอง ไม่ใช่โปรแกรมเมอร์

คำแนะนำของเรา:

ใช้ไฟล์ข้อความที่มนุษย์อ่านได้เพื่ออธิบายบริการ และให้บริการโดยดำเนินการตามคำอธิบายเหล่านี้

ใช้ไฟล์ข้อความ (เช่น ไฟล์ JSON) เพื่ออธิบายแอปพลิเคชัน

ใช้ไฟล์ข้อความ (เช่น ไฟล์ JSON) เพื่อแลกเปลี่ยนข้อมูล

ใช้ HTML, CSS และ JavaScript เพื่อรันแอปพลิเคชัน


สามนักพัฒนาเว็บตัวน้อย...

กาลครั้งหนึ่งมีนักพัฒนาเว็บตัวน้อยสามคนกำลังพัฒนาเว็บไซต์ใหม่

1. นักพัฒนาเว็บรายแรกใช้ AppML

2. นักพัฒนาเว็บคนที่สองกำลังใช้ภาษาการเขียนโปรแกรมเซิร์ฟเวอร์ที่เขาชื่นชอบ

3. ที่สามคือการใช้เฟรมเวิร์กการพัฒนาเว็บสำหรับองค์กรแบบมืออาชีพ

นักพัฒนาเว็บรายแรกมีการสาธิตและใช้งานได้ภายในสองวัน หลังจากร่วมมือกับผู้ใช้แล้ว ต้นแบบที่ออกจากระบบก็พร้อมในหนึ่งสัปดาห์ และหลังจากการทดสอบสองสัปดาห์ เว็บไซต์ที่ชาญฉลาด รวดเร็วและใช้งานง่าย ก็พร้อมที่จะเผยแพร่

นักพัฒนาเว็บคนที่สองเตรียมเว็บไซต์ให้พร้อมหลังจากผ่านไป 6 เดือน แต่ WWW ได้เปลี่ยนแปลงข้อกำหนดและไม่พอใจ นักพัฒนาเว็บไม่สามารถทำการเปลี่ยนแปลงที่สำคัญในโครงการของเขาได้เนื่องจากมีโค้ดมากเกินไป ดังนั้นเขาจึงเริ่มพัฒนาเวอร์ชัน 2

นักพัฒนาเว็บคนที่สามไม่เคยทำงานให้เสร็จ กรอบงานการพัฒนาเว็บแบบมืออาชีพนั้นใช้งานยากมาก เข้าใจยาก และแทบจะทดสอบไม่ได้เลย

มาดูกันว่าผู้พัฒนารายแรกทำได้อย่างไร