XAF (eXpressApp Framework) DevExpress firmasının güzel bir ürünü, şimdiye kadar üretmiş olduğu ORM veri altyapısıyla birçok bileşeninin modüler olarak entegrasyonunun bir türev ürünü olarak tanımlanabilir. Daha çok şirket içi iş ve süreç takibi konularında hızlı bir geliştirme ortamı sunduğu, içinde entegre olarak güvenlik altyapısı, görsel tasarım düzenleyicileri ve daha da önemlisi çoklu platform desteği sebebiyle tercih ediliyor. 30 günlük deneme sürümü ücretsiz olarak indirilebilse de bu sürenin öğrenmek için yeterli olmadığını özellikle belirteyim.
![Tabbed UI](https://www.devexpress.com/Products/NET/Application_Framework/i/appgallery/opportunities.png)
Yüzeyini biraz kazırsak XAF, veri katmanı olarak XPO veya EntityFramework kullanabiliyor, fakat XPO desteği şimdilik daha ön planda, yeni projelerde varsayılan olarak EntityFramework seçilse de ben XPO'ya alıştığım için o kısımla ilgili paylaşımlarda bulunacağım.
XPO ile Oracle, MSSQL, MySql vs. birçok veritabanına bağlanmak mümkün, bunların dışında bir veritabanına bağlantı gerekirse ve kendinize güveniyorsanız kendi 'provider'ınızı yazarak o veritabanlarına da erişmek mümkün.
Arayüzlerin tasarımı Visual Studio altında veya runtime olarak yapılabiliyor. Temel olarak detay ve liste görünüm türü ve dashboard adlı hem detay hem de liste görünümlerinin aynı ekranda düzenlenebildiği üç farklı "View" türü için ekran tasarımı yapılabiliyor. Ayrıca bu "view"ler için ayrı ayrı "Action" tanımlarına ve ekran nesnelerine doğrudan erişim yapılmasına imkan veren "Controller" altyapısı mevcut.
Kalıcı sınıf tanımlarında herhangi bir özelliğin değişiminde bu değişikliğe bağlı başka işlem tanımlarının yapılabilmesi veya sınıf nesneleri kaydedilirken, yüklenirken, silinirken tetiklenen olaylarının tanımlanabilmesi gibi imkanlar var. "Appearance" modülü gerekli durumlarda bazı alanların açılıp kapatılabilmesi ve koşullu biçimlendirme imkanları da sunuyor.
"Attachment" altyapısıyla herhangi bir kaynaktan dosya indirme yükleme işlemleri yapılabiliyor. "Audit" modülü herhangi bir nesnenin, herhangi bir alanının değişimini zamanıyla beraber kaydedebiliyor.
Özetle temel olarak ihtiyaç duyulabilecek her türlü iş yazılımını bu kütüphaneyle kolayca oluşturmak mümkün. Gerisi sizin hayal gücünüze ve becerinize bağlı elbette.
Devam edecek...