AppML Mimarisi


Modern Web Mimarisi

AppML, modern web geliştirmenin en güncel tekniklerini ve fikirlerini birleştirir.

AppML hız, basitlik ve düşük maliyete odaklanır:

  • Düşük maliyetli
  • Hızlı ve Çevik Web Geliştirme
  • Bulut Bilişim için Optimize Edildi
  • Yüksek Hız ve Düşük Bant Genişliği Tüketimi
  • MVC (Model Viev Controller) Mimarisi
  • İçeriğin Sunumdan Tam Ayrılması
  • Son Derece Ölçeklenebilir ve Test Edilebilir
  • Kolay Yapılandırma ve Yeniden Yapılandırma
  • Uygulamalar çalışırken yeniden yapılandırma
  • Kullanıcı Hesapları ve Rolleri için Akıllı Destek

MVC Mimarisi

 

AppML bir MVC Mimarisi kullanır

MVC, Model, Görünüm, Denetleyici anlamına gelir

Model , uygulamanızı açıklar .

Görünüm verilerinizi görüntüler .

Kontrolör uygulamanızı kontrol eder ( elbette).

 

Vikipedi: Model, Görünüm, Denetleyici

        MVC

MODEL - Sadece JSON

Model uygulamayı açıklar.

Model, farklı donanım ve yazılım platformlarında (Sunucu, PC, iPhone, Tablet vb.) tekrar kullanılabilir.

Model, sunum veya kullanıcı arayüzü (UI) ile ilgili değildir.

Model JSON ile yazılmıştır:

modeli

{
"rowsperpage" : 10,
"database" : {
    "connection" : "localmysql",
    "sql" : "SELECT CustomerName, City, Country FROM Customers",
    "orderby" : "CustomerName"
},
"filteritems" : [
    {"item" : "CustomerName", "label" : "Customer"},
    {"item" : "City"},
    {"item" : "Country"}
],
"sortitems" : [
    {"item" : "CustomerName", "label" : "Customer"},
    {"item" : "City"},
    {"item" : "Country"}
]
}

GÖRÜNÜM - Sadece HTML

Görünüm, verileri görüntülemek (ve giriş yapmak) için UI'dir (Kullanıcı Arayüzü).

Görünüm HTML ve CSS ile yazılmıştır:

HTML Görünümü

<!DOCTYPE html>
<html lang="en-US">
<title>Customers</title>
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
<script src="https://www.w3schools.com/appml/2.0.3/appml.js"></script>
<body>

<div class="w3-container" appml-data="local?model=model_customers">
<h1>Customers</h1>
<div appml-include-html="inc_listcommands.htm"></div>
<div appml-include-html="inc_filter.htm"></div>
<table class="w3-table-all">
  <tr>
    <th>Customer</th>
    <th>City</th>
    <th>Country</th>
  </tr>
  <tr appml-repeat="records">
    <td>{{CustomerName}}</td>
    <td>{{City}}</td>
    <td>{{Country}}</td>
</tr>
</table>
</div>

</body>
</html>

DENETLEYİCİ - İstemci ve/veya Sunucu Komut Dosyaları

Web sayfasındaki bir istemci komut dosyası uygulamayı kontrol edebilir:

  • AppML, modelde tanımlandığı gibi verileri görüntüleyebilir
  • AppML, verileri HTML nitelikleri tarafından tanımlandığı şekilde görüntüleyebilir.
  • AppML uygulamaları HTML'den bağımsız olarak çalışabilir (gizli)
  • (İsteğe bağlı) AppML, bir web sunucusundan (SQL sunucusu) model verileri isteyebilir
  • (İsteğe bağlı) AppML kullanıcıları verileri düzenleyebilir
  • (İsteğe bağlı) AppML bir web sunucusuna veri gönderebilir

Bir sunucu komut dosyası, uygulamayı şu şekilde kontrol edebilir:

  • İstemciden (tarayıcı) istek alma
  • İstemciye veri döndürme
  • İstemciden veri alma
  • Sunucudaki verileri güncelleme
  • Kimlik doğrulama ve güvenlikle ilgilenmek

Programlama Sanatı

Uygulama boyutunu ve karmaşıklığı düşük tutmak, tüm programlamaların ana sorunudur.

Bilgisayar uygulamasının karmaşıklığını kontrol etmek, gerçek programlama sanatıdır.


Bildirimsel Programlama

Yazılım geliştirme genellikle son teslim tarihlerini ve bütçeleri aşar. Biten yazılımlar genellikle kodlama hatalarıyla doludur. Bunun nedeni, bilgisayar kodunun geliştirilmesi, test edilmesi ve bakımının zor olmasıdır.

Kodlama Çıktı . Ne yapacağınızı daha fazla, Nasıl yapacağınızı daha az anlatmalısınız .

AppML ile uygulamanızı Model'de ve Görünüm'de Bildirirsiniz .

AppML ile kodlanacak daha az (bazen hiçbir şey) yoktur .

Vikipedi: Bildirimsel Programlama


Hızlı ve Çevik Uygulama Geliştirme

Bilgisayar uygulamasının karmaşıklığını kontrol etmek, gerçek programlama sanatıdır.

Uygulama boyutunu ve karmaşıklığını kontrol altında tutmak, tüm programlamaların ana sorunudur.

RAD, hızlı prototipleme lehine minimum planlama kullanan bir yazılım geliştirme yöntemidir.

AppML, geleneksel geliştirme yöntemlerinden 100 kata kadar daha hızlı süper hızlı prototipleme sunar.

Uygulama prototipleri, herhangi bir kodlama olmaksızın doğrudan uygulama modelinden çalıştırılabilir.

Vikipedi: Hızlı Uygulama Geliştirme

Çevik yazılım geliştirme, çözümlerin kullanıcılar ve geliştiriciler tarafından işbirliği içinde oluşturulduğu, adım adım geliştirmeye dayalı bir yöntemdir.

AppML ile uygulamalar, prototiplerden tam uygulamalara kadar küçük artışlarla adım adım yazılabilir.

Vikipedi: Çevik Yazılım Geliştirme


Önce Kod

Bir web uygulaması iki farklı şekilde geliştirilebilir:

1. Önce Kod: Önceden programlanmış, önceden test edilmiş kod kullanarak, yalnızca yeni uygulama açıklamaları ekleyerek.

2. Önce Sözleşme: Tam uygulama gereksinimi açıklamasını kullanarak uygulamayı sıfırdan kodlama.

AppML en rasyonel konsepti kullanır: Code First .


Hizmet Odaklı Mimari (SOA)

Servis Odaklı Mimari (SOA) , web uygulamaları oluşturmaya yönelik bir mimaridir.

SOA , düşük geliştirme maliyetleri ve yüksek esneklik sunar.

SOA ile uygulamalar sıfırdan veya mevcut BT altyapılarından oluşturulabilir ve farklı uygulamalar tarafından farklı donanım ve yazılımlarda kullanılabilir.

SOA , verilerin nasıl olduğu endişesi olmadan kolayca tüketilebildiği MVC ve Bildirimsel Programlama için mükemmel bir seçimdir .


Ağ hizmetleri

Web Hizmeti , tıpkı bir web sayfası gibi, bir URL ile tanımlanan verilere yönelik bir arayüzdür.

Bir Web Hizmeti , bir web sayfasından yalnızca bilgiyi iletme biçiminde farklıdır.

Tipik bir Web Hizmeti , yalnızca bir web sayfasına veri sağlar.

AppML ile HTML, kullanıcı arayüzüdür, bir Web Hizmeti verileri sağlar.

Orijinal Web Hizmetleri , SOAP, WSDL ve UDDI gibi XML standartlarını kullanmak üzere tasarlanmıştır.

AppML gibi Modern Web Servislerinin kullanımı çok daha kolaydır.

  • Anlaması daha basit - İnsanlar tarafından okunabilir
  • Hafif - gereksiz kod veya işaretleme yok
  • Uygulaması kolay - geliştirme aracı gerekmez

Web Servislerinin Faydaları

  • Web servisleri küçük kod birimleridir.
  • Web hizmetleri, sınırlı bir dizi görevi yerine getirmek için tasarlanmıştır.
  • Web hizmetleri, HTTP tabanlı iletişim protokollerini kullanır
  • Web servisleri işletim sistemlerinden bağımsızdır
  • Web servisleri programlama dillerinden bağımsızdır
  • Web servisleri farklı uygulamaları, sistemleri ve cihazları bağlayabilir
  • Web Servisleri bilgi dağıtmayı kolaylaştırır
  • Web Servisleri hızlı uygulama geliştirmeyi destekler

Örnek: Diğer uygulamalara borsa fiyatlarını sağlamak için tasarlanmış küçük bir program.

Örnek: Uçuş programları ve bilet rezervasyon sistemleri.

Web servisleri HTTP kullandığından hem işletim sistemlerinden hem de programlama dillerinden bağımsızdırlar.


Bulut bilişim

Bulut Bilişim , SOA'nın bir uzantısıdır: Hizmet olarak uygulama, Hizmet olarak depolama, Hizmet olarak veri.

Çoğu insan için Bulut Bilişim, verileri web'de depolamakla ilgilidir:

  • E-postalar ve takvimler
  • Belgeler ve elektronik tablolar
  • Kitaplar, notlar ve yapılacaklar listeleri
  • Müzik, resim ve filmler
  • Veritabanları ve uygulamalar

Nedenleri oldukça açık:

  • Verilere her yerden erişebilmek için
  • Verilerimi başkalarıyla paylaşmak için
  • Donanım değişikliklerinden veya çökmelerden kurtulmak için

AppML ile hem veritabanlarını hem de uygulamaları buluta yerleştirmek çok kolaydır.