Lịch sử AppML
Năm 1999, Refsnes Data đã phát triển phiên bản đầu tiên của AppML.
Khi đó, 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 này phương pháp này được biết đến rộng rãi với tên gọi AJAX.
Vào tháng 9 năm 2000, một dự án phát triển dành cho một khách hàng lớn ở 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ừ ứng dụng máy tính để bàn Windows sang ứ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 thời hạn, 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ỡ, 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, Example.com.vn đã ra mắt lại AppML dưới dạng 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
- Các ứng dụng AppML phải là bằng chứng trong tương lai
Các đoạn bên dưới 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 chặ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 trên mọi trình duyệt web.
Ứng dụng web sẽ là dịch vụ Internet
Lịch sử có đầy đủ các ứng dụng lớn, được xây dựng có mục đích. Nhiều người trong số này chết rất nhanh vì họ không thể sống sót sau những thay đổi về yêu cầu.
Các ứng dụng phải linh hoạt, khái quát hóa và điều chỉnh linh hoạt theo các thay đổi mà không bị hỏng hoặc bị phá hủy.
Các ứng dụng có thể mở rộng quy mô 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ó khả năng lây lan từ một máy chủ sang 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 sẽ 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 nên 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 cách sử dụng SOA (Kiến trúc hướng dịch vụ) dựa trên Internet.
Làm cho các dịch vụ ứng dụng của bạn trở nên tổng quát 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
Khách hàng 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 chứ không phải bằng cách chỉnh sửa mã.
Con người sẽ có thể đọc được mô tả ứng dụng.
Mô tả ứng dụng sẽ tự mô tả.
Ứng dụng sẽ được viết bởi người dùng chứ 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 mà con người có thể đọc được để mô tả các dịch vụ và cung cấp dịch vụ bằng cách thực hiện các mô tả này.
Sử dụng tệp văn bản (như tệp JSON) để mô tả ứ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.
Ba nhà phát triển web nhỏ...
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 hiện có đã 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 được xuất bản.
Nhà phát triển web thứ hai đã hoàn thành xong 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 hài lòng. Nhà phát triển web không thể thực hiện những thay đổi lớn đối với dự án của mình vì nó chứa quá nhiều mã. Vì vậy anh ấy bắt đầu phát triển phiên bản 2.
Nhà phát triển web thứ ba không bao giờ hoàn thành được 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à gần như không thể kiểm tra.
Hãy xem nhà phát triển đầu tiên đã làm điều đó như thế nào .