Historia AppML


W 1999 roku firma Refsnes Data opracowała pierwszą wersję AppML.

Już wtedy AppML opierał się na komunikacji żądania HTTP między klientem sieciowym a serwerem sieciowym. Później ta metoda stała się dobrze znana jako AJAX.

We wrześniu 2000 roku rozpoczęto projekt rozwojowy dla dużego klienta norweskiego. Celem projektu była konwersja ogromnego systemu informatycznego (około 300 aplikacji) z aplikacji desktopowej Windows na nowoczesną aplikację internetową, przy użyciu wyłącznie AppML.

System oparty na AppML został uruchomiony w 2001 roku, kilka miesięcy przed planowanym terminem, jako pierwsza na świecie komercyjna aplikacja AJAX. Projekt okazał się ogromnym sukcesem, a czas tworzenia został skrócony o 75% w porównaniu ze zwykłym tworzeniem stron internetowych. Od tego czasu dodano nowe aplikacje, a system obejmuje obecnie ponad 1000 uruchomionych aplikacji.

W lutym 2015 r. W3Schools ponownie uruchomiło AppML jako nowy, publicznie dostępny produkt.

Cele projektowe AppML:

  • Aplikacje AppML muszą działać przez Internet
  • Aplikacje AppML muszą być niezależne od platformy
  • Aplikacje AppML muszą używać wyłącznie standardów internetowych (HTML, CSS, JavaScript)
  • Aplikacje AppML muszą obsługiwać różnorodne potrzeby aplikacji
  • Aplikacje AppML muszą być samoopisujące
  • Aplikacje AppML muszą być łatwe do tworzenia, utrzymania i zmiany
  • Aplikacje AppML muszą być odporne na przyszłość

Poniższe akapity opisują oryginalne wizje Refsnes Data (1999) dotyczące przyszłych aplikacji internetowych.


Pliki wykonywalne umrą, JavaScript będzie działał

Skompilowane pliki wykonywalne (skompilowane z języków takich jak C lub Java) nie mogą działać na innym sprzęcie.

Pliki wykonywalne (pliki EXE, obiekty ActiveX i COM, pliki DLL) to komponenty, które uniemożliwiają tworzenie aplikacji, które mogą działać przez Internet.

Przyszła aplikacja nie będzie używać ani polegać na plikach wykonywalnych lub innych komponentach zainstalowanych na komputerze klienta.

Nasze sugestie:

Pisz swoje przyszłe aplikacje używając tylko HTML, CSS i JavaScript.

Upewnij się, że Twoje przyszłe aplikacje działają w dowolnej przeglądarce internetowej.


Aplikacje internetowe będą usługami internetowymi

Historia jest pełna dużych, specjalnie zaprojektowanych aplikacji. Wiele z nich zginęło bardzo szybko, ponieważ nie mogły przetrwać zmian wymagań.

Aplikacje powinny być elastyczne, uogólnione i z wdziękiem dostosowywać się do zmian, bez ich kruszenia lub niszczenia.

Aplikacje powinny mieć możliwość skalowania od kilku do milionów żądań dziennie.

Aplikacje powinny być w stanie rozprzestrzeniać się z jednego serwera na wiele lub przemieszczać się między serwerami bez przerywania aplikacji.

Aplikacje powinny mieć możliwość współpracy z innymi aplikacjami.

Aplikacje nie powinny zawierać dużej ilości kodu.

Aplikacje należy podzielić na mniejsze usługi, które są łatwe w tworzeniu i utrzymaniu.

Aplikacje powinny być zbiorem usług internetowych, które mogą zwracać dane do przesłanych żądań internetowych.

Aplikacje powinny żądać usług za pośrednictwem standardowych protokołów internetowych bez utrzymywania stałego połączenia z serwerem. 

Nasze sugestie:

Pisz swoje przyszłe aplikacje, korzystając z internetowej architektury SOA (Service Oriented Architecture).

Spraw, aby Twoje usługi aplikacji były ogólne i elastyczne, a także gotowe do obsługi różnych typów żądań.


Przyszłe aplikacje będą łatwe do tworzenia i edycji

Klienci i serwery będą wymieniać dane w łatwy i zrozumiały sposób.

Aplikacje nie będą kodowane, jeśli da się tego uniknąć.

Aplikacje będą tworzone i modyfikowane poprzez edycję modeli, a nie poprzez edycję kodu.

Opisy aplikacji będą czytelne dla człowieka.

Opisy aplikacji będą samoopisujące.

Aplikacje będą pisane przez użytkowników, a nie programistów.

Nasze sugestie:

Używaj plików tekstowych czytelnych dla człowieka do opisywania usług i świadczenia usług, wykonując te opisy.

Użyj plików tekstowych (takich jak pliki JSON) do opisania aplikacji.

Używaj plików tekstowych (takich jak pliki JSON) do wymiany danych.

Używaj HTML, CSS i JavaScript do uruchamiania aplikacji.


Trzech małych programistów internetowych...

Dawno, dawno temu trzech małych programistów tworzyło nową witrynę internetową.

1. Pierwszy web developer używał AppML.

2. Drugi web developer używał swojego ulubionego języka programowania serwerów.

3. Trzecim było użycie profesjonalnego frameworka do tworzenia stron internetowych dla przedsiębiorstw.

Pierwszy twórca stron internetowych uruchomił demo w ciągu dwóch dni. Po współpracy z użytkownikami wychodzący prototyp był gotowy w tydzień. Po dwóch tygodniach testowania inteligentna, szybka i łatwa w użyciu strona internetowa była gotowa do opublikowania.

Drugi web developer miał gotową stronę po 6 miesiącach. Ale WWW zmieniła swoje wymagania i nie była zaspokojona. Deweloper nie mógł dokonać większych zmian w swoim projekcie, ponieważ zawierał zbyt dużo kodu. Zaczął więc rozwijać wersję 2.

Trzeci web developer nigdy nie zdołał ukończyć swojej pracy. Profesjonalny framework do tworzenia stron internetowych był bardzo trudny w użyciu, bardzo trudny do zrozumienia i prawie niemożliwy do przetestowania.

Zobacz, jak zrobił to pierwszy programista .