Lịch sử AppML


Năm 1999, Refsnes Data đã phát triển phiên bản đầu tiên của AppML.

Lúc đó, AppML đã dựa trên giao tiếp yêu cầu HTTP giữa máy khách web và máy chủ web. Sau đó phương pháp này được biết đến nhiều với tên gọi AJAX.

Vào tháng 9 năm 2000, một dự án phát triển cho một khách hàng lớn của Na Uy đã được bắt đầu. Mục tiêu của dự án là chuyển đổi một hệ thống thông tin khổng lồ (khoảng 300 ứng dụng) từ một ứng dụng Windows trên máy tính để bàn sang một ứng dụng Internet hiện đại, chỉ sử dụng AppML.

Hệ thống dựa trên AppML được ra mắt vào năm 2001, vài tháng trước lịch trình, là ứng dụng AJAX thương mại đầu tiên trên thế giới. Dự án đã thành công rực rỡ, với thời gian phát triển giảm 75% so với phát triển web thông thường. Kể từ đó, các ứng dụng mới đã được thêm vào và hệ thống hiện bao gồm hơn 1000 ứng dụng đang chạy.

Vào tháng 2 năm 2015, W3Schools đã ra mắt lại AppML như một sản phẩm mới, mở cửa cho công chúng.

Mục tiêu thiết kế AppML:

  • Các ứng dụng AppML phải chạy qua Internet
  • Các ứng dụng AppML phải độc lập với nền tảng
  • Các ứng dụng AppML chỉ được sử dụng các tiêu chuẩn Internet (HTML, CSS, JavaScript)
  • Các ứng dụng AppML phải hỗ trợ nhiều nhu cầu ứng dụng khác nhau
  • Các ứng dụng AppML phải tự mô tả
  • Các ứng dụng AppML phải dễ phát triển, bảo trì và thay đổi
  • Ứng dụng AppML phải là bằng chứng trong tương lai

Các đoạn dưới đây mô tả tầm nhìn ban đầu của Refsnes Data (1999) về các ứng dụng web trong tương lai.


Các tệp thực thi sẽ chết, JavaScript sẽ tồn tại

Các tệp thực thi được biên dịch (được biên dịch từ các ngôn ngữ như C hoặc Java) không thể chạy trên các phần cứng khác nhau.

Các tệp thực thi (tệp EXE, đối tượng ActiveX và COM, tệp DLL) là các thành phần ngăn cản sự phát triển của các ứng dụng có thể chạy qua internet.

Ứng dụng trong tương lai sẽ không sử dụng hoặc dựa vào các tệp thực thi hoặc bất kỳ thành phần nào khác được cài đặt trên máy tính của khách hàng.

Đề xuất của chúng tôi:

Viết các ứng dụng trong tương lai của bạn chỉ bằng HTML, CSS và JavaScript.

Đảm bảo các ứng dụng trong tương lai của bạn chạy trong bất kỳ trình duyệt web nào.


Ứng dụng Web sẽ là Dịch vụ Internet

Lịch sử có đầy đủ các ứng dụng lớn, có mục đích được xây dựng. Nhiều người trong số này chết rất nhanh, vì chúng không thể tồn tại trước những thay đổi của yêu cầu.

Các ứng dụng phải linh hoạt, tổng quát và điều chỉnh một cách duyên dáng theo các thay đổi, mà không bị phá vỡ hoặc phá hủy.

Các ứng dụng phải có thể mở rộng từ việc hỗ trợ một vài đến hàng triệu yêu cầu mỗi ngày.

Các ứng dụng phải có thể lan truyền từ một máy chủ đến nhiều máy chủ hoặc di chuyển giữa các máy chủ mà không làm hỏng ứng dụng.

Các ứng dụng phải có thể hợp tác với các ứng dụng khác.

Các ứng dụng không được chứa khối lượng lớn mã.

Các ứng dụng nên được chia thành các dịch vụ nhỏ hơn, dễ tạo và dễ bảo trì.

Các ứng dụng phải là một tập hợp các dịch vụ Internet có thể trả về dữ liệu cho các yêu cầu Internet đã gửi.

Các ứng dụng phải yêu cầu dịch vụ thông qua các giao thức Internet tiêu chuẩn mà không cần duy trì kết nối vĩnh viễn với máy chủ. 

Đề xuất của chúng tôi:

Viết các ứng dụng trong tương lai của bạn bằng SOA dựa trên Internet (Kiến trúc hướng dịch vụ).

Làm cho các dịch vụ ứng dụng của bạn trở nên chung chung và linh hoạt, đồng thời sẵn sàng phục vụ các loại yêu cầu khác nhau.


Các ứng dụng trong tương lai sẽ dễ dàng tạo và chỉnh sửa

Máy khách và máy chủ sẽ trao đổi dữ liệu một cách dễ hiểu.

Các ứng dụng sẽ không được mã hóa, nếu có thể tránh được.

Các ứng dụng sẽ được tạo và sửa đổi, bằng cách chỉnh sửa mô hình, không phải bằng cách chỉnh sửa mã.

Mô tả ứng dụng sẽ có thể đọc được bởi con người.

Mô tả ứng dụng sẽ tự mô tả.

Các ứng dụng sẽ được viết bởi người dùng, không phải lập trình viên.

Đề xuất của chúng tôi:

Sử dụng các tệp văn bản có thể đọc được của con người để mô tả các dịch vụ và cung cấp các dịch vụ bằng cách thực hiện các mô tả này.

Sử dụng các tệp văn bản (như tệp JSON) để mô tả các ứng dụng.

Sử dụng tệp văn bản (như tệp JSON) để trao đổi dữ liệu.

Sử dụng HTML, CSS và JavaScript để thực thi các ứng dụng.


Three Little Web Developers ...

Ngày xửa ngày xưa, có ba nhà phát triển web nhỏ đang phát triển một trang web mới.

1. Nhà phát triển web đầu tiên đã sử dụng AppML.

2. Nhà phát triển web thứ hai đang sử dụng ngôn ngữ lập trình máy chủ yêu thích của mình.

3. Thứ ba là sử dụng khung phát triển web doanh nghiệp chuyên nghiệp.

Nhà phát triển web đầu tiên đã có bản demo và chạy trong hai ngày. Sau khi cộng tác với người dùng, một nguyên mẫu thử nghiệm đã sẵn sàng sau một tuần. Và sau hai tuần thử nghiệm, một trang web thông minh, nhanh chóng và dễ sử dụng, đã sẵn sàng để xuất bản.

Nhà phát triển web thứ hai đã có trang web của mình sau 6 tháng. Nhưng WWW đã thay đổi yêu cầu của mình và không được thỏa mãn. Nhà phát triển web không thể thực hiện các thay đổi lớn đối với dự án của mình vì nó chứa quá nhiều mã. Vì vậy, ông bắt đầu phát triển phiên bản 2.

Nhà phát triển web thứ ba không bao giờ quản lý để hoàn thành công việc của mình. Khung phát triển web chuyên nghiệp rất khó sử dụng, rất khó hiểu và hầu như không thể kiểm tra.

Hãy xem cách nhà phát triển đầu tiên đã làm điều đó .