AppML Geçmişi


1999'da Refsnes Data, AppML'nin ilk sürümünü geliştirdi.

O zamanlar AppML, web istemcisi ve web sunucusu arasındaki HTTP istek iletişimine dayanıyordu. Daha sonra bu yöntem AJAX olarak bilinir hale geldi.

Eylül 2000'de büyük bir Norveçli müşteri için bir geliştirme projesi başlatıldı. Projenin amacı, büyük bir bilgi sistemini (yaklaşık 300 uygulama) yalnızca AppML kullanarak bir Windows masaüstü uygulamasından modern bir İnternet uygulamasına dönüştürmekti.

AppML tabanlı sistem, 2001 yılında, programdan birkaç ay önce, dünyanın ilk ticari AJAX uygulaması olarak piyasaya sürüldü. Proje, sıradan web geliştirmeye kıyasla geliştirme süresi %75 oranında azaltılarak büyük bir başarı elde etti. O zamandan beri, yeni uygulamalar eklendi ve sistem şu anda 1000'in üzerinde çalışan uygulamayı kapsıyor.

Şubat 2015'te W3Schools, AppML'yi halka açık yeni bir ürün olarak yeniden piyasaya sürdü.

AppML tasarım hedefleri:

  • AppML uygulamaları İnternet üzerinden çalışmalıdır
  • AppML uygulamaları platformdan bağımsız olmalıdır
  • AppML uygulamaları yalnızca İnternet standartlarını kullanmalıdır (HTML, CSS, JavaScript)
  • AppML uygulamaları, çeşitli uygulama ihtiyaçlarını desteklemelidir
  • AppML uygulamaları kendi kendini tanımlamalıdır
  • AppML uygulamalarının geliştirilmesi, bakımı ve değiştirilmesi kolay olmalıdır
  • AppML uygulamaları geleceğe yönelik olmalıdır

Aşağıdaki paragraflar, Refsnes Data'nın gelecekteki web uygulamaları hakkındaki orijinal vizyonlarını (1999) açıklamaktadır.


Yürütülebilir Dosyalar Ölecek, JavaScript Yaşanacak

Derlenmiş yürütülebilir dosyalar (C veya Java gibi dillerden derlenmiş) farklı donanımlarda çalışamaz.

Yürütülebilir dosyalar (EXE dosyaları, ActiveX ve COM nesneleri, DLL dosyaları), internet üzerinden çalışabilen uygulamaların geliştirilmesini engelleyen bileşenlerdir.

Gelecekteki uygulama, yürütülebilir dosyaları veya istemcinin bilgisayarında yüklü olan diğer bileşenleri kullanmayacak veya bunlara dayanmayacaktır.

Önerilerimiz:

Gelecekteki uygulamalarınızı yalnızca HTML, CSS ve JavaScript kullanarak yazın.

Gelecekteki uygulamalarınızın herhangi bir web tarayıcısında çalıştığından emin olun.


Web Uygulamaları İnternet Hizmetleri Olacak

Tarih, büyük, amaca yönelik uygulamalarla doludur. Bunların çoğu, gereksinim değişikliklerine dayanamadıkları için çok hızlı bir şekilde öldü.

Uygulamalar esnek olmalı, genelleştirilmeli ve ufalanmadan veya yok edilmeden değişikliklere zarif bir şekilde uyum sağlamalıdır.

Uygulamalar, günde birkaç ila milyonlarca isteği desteklemekten ölçeklenebilmelidir.

Uygulamalar, uygulamayı bozmadan bir sunucudan birçok sunucuya yayılabilmeli veya sunucular arasında hareket edebilmelidir.

Uygulamalar diğer uygulamalarla işbirliği yapabilmelidir.

Uygulamalar büyük miktarda kod içermemelidir.

Uygulamalar, oluşturulması ve bakımı kolay olan daha küçük hizmetlere bölünmelidir.

Uygulamalar, gönderilen İnternet isteklerine veri döndürebilen bir dizi İnternet hizmeti olmalıdır.

Uygulamalar, sunucuyla kalıcı bir bağlantı kurmadan standart İnternet protokolleri aracılığıyla hizmet talep etmelidir. 

Önerilerimiz:

İnternet tabanlı SOA (Servis Odaklı Mimari) kullanarak gelecekteki uygulamalarınızı yazın.

Uygulama hizmetlerinizi genel ve esnek hale getirin ve farklı türdeki istekleri karşılamaya hazır hale getirin.


Gelecekteki Uygulamaların Oluşturulması ve Düzenlenmesi Kolay Olacak

İstemciler ve sunucular kolay anlaşılır bir şekilde veri alışverişinde bulunacaklardır.

Önlenebilirse, uygulamalar kodlanmayacaktır.

Uygulamalar, kodları düzenleyerek değil, modelleri düzenleyerek oluşturulacak ve değiştirilecektir.

Uygulama açıklamaları insanlar tarafından okunabilecektir.

Uygulama açıklamaları kendi kendini açıklayacaktır.

Uygulamalar, programcılar tarafından değil, kullanıcılar tarafından yazılacaktır.

Önerilerimiz:

Hizmetleri tanımlamak için insan tarafından okunabilir metin dosyaları kullanın ve bu açıklamaları yürüterek hizmetler sağlayın.

Uygulamaları açıklamak için metin dosyalarını (JSON dosyaları gibi) kullanın.

Veri alışverişi yapmak için metin dosyalarını (JSON dosyaları gibi) kullanın.

Uygulamaları yürütmek için HTML, CSS ve JavaScript kullanın.


Üç Küçük Web Geliştiricisi...

Bir zamanlar yeni bir web sitesi geliştiren üç küçük web geliştiricisi vardı.

1. İlk web geliştiricisi AppML kullanıyordu.

2. İkinci web geliştiricisi en sevdiği sunucu programlama dilini kullanıyordu.

3. Üçüncüsü, profesyonel bir kurumsal web geliştirme çerçevesi kullanıyordu.

İlk web geliştiricisi iki gün içinde bir demoyu hazırlayıp çalıştırdı. Kullanıcılarla işbirliğinden sonra, bir hafta içinde mevcut bir prototip hazırdı. Ve iki haftalık testten sonra, akıllı, hızlı ve kullanımı kolay bir web sitesi yayınlanmaya hazırdı.

İkinci web geliştirici 6 ay sonra web sitesini hazır hale getirdi. Ancak WWW gereksinimlerini değiştirmişti ve tatmin olmamıştı. Web geliştiricisi, çok fazla kod içerdiğinden projesinde büyük değişiklikler yapamadı. Böylece sürüm 2'nin geliştirilmesine başladı.

Üçüncü web geliştiricisi asla işini tamamlamayı başaramadı. Profesyonel web geliştirme çerçevesinin kullanımı çok zordu, anlaşılması çok zordu ve test edilmesi neredeyse imkansızdı.

İlk geliştiricinin bunu nasıl yaptığına bir bakın .