Open edX Mobil Uygulamasının Mimarisi
Esnek ve sürdürülebilir bir eğitim deneyimi için “temiz mimarlık” ilkelerine dayanan Open edX mobil uygulaması, son derece özelleştirilebilir ve modüler bir altyapı sunuyor.
Eğitim teknolojileri, öğrenim süreçlerini dönüştürmeye devam ederken, Open edX platformu bu yeniliğin öncülerinden biri olarak öne çıkmaktadır. Open edX, dünya çapında milyonlarca öğrenciye hizmet veren, açık kaynaklı bir çevrimiçi kurs yönetim sistemi (MOOC) platformudur. MIT ve Harvard Üniversitesi tarafından geliştirilen bu platform, kurslar, ders materyalleri ve çevrimiçi öğrenme toplulukları oluşturmak için dünya çapında üniversiteler ve kuruluşlar tarafından kullanılmaktadır.
Platformun mobil uygulaması, öğrencilere her yerden ders materyallerine erişim olanağı sunar, etkileşimli öğrenme deneyimleri sağlar ve zamanla veya mekânla sınırlı olmayan bir eğitim olanağı sunar. Bu blog yazısında, Open edX mobil uygulamasının altında yatan mimariye ve bu mimarinin uygulamayı nasıl esnek, sürdürülebilir ve genişletilebilir hale getirdiğine odaklanacağız.
Temiz Mimarlık: Open edX’in kalbi
Open edX mobil uygulaması, Temiz Mimarlık ilkelerine dayanarak inşa edilmiştir. Bu mimari çerçevede, Open edX iş ortaklarından Raccoongang firması, Open edX mobil uygulamasının UIKit tabanlı kullanıcı arayüzünden Swift UI’a geçiş yapılmasında ve yeni mimarinin hazırlanmasında önemli bir rol oynadı. Bu dönüşüm, uygulamanın kullanıcı deneyimini modernize ederek daha interaktif ve erişilebilir hale getirdi.
Temiz Mimarlık ilkelerini uygulananan ve eskisi gibi yine açık kaynak lisnslarıyla dağıtılan bu yeni altyapıda, uygulamanın katmanlar arası bağımlılıklarını azaldı ve böylece daha test edilebilir, bakımı daha kolay ve gelecekteki teknolojik gelişmelere daha açık bir yapı oluştu. Bu, uygulamanın esnekliğini ve sürdürülebilirliğini artırmış, veri doğrulama, hata yönetimi ve performans optimizasyonu gibi teknik zorlukların üstesinden gelinmesini kolaylaştırmıştır. Bu yaklaşım, uygulamanın farklı katmanları arasında açık bir ayrım yapılmasını ve böylece her katmanın kendi sorumluluk alanlarına odaklanmasını sağlıyor.
Katmanlar ve Sorumlulukları
- Sunum Katmanı: Kullanıcı arayüzü ve kullanıcı deneyimi bu katmanda şekillenir. Uygulamanın görsel bileşenleri ve kullanıcı etkileşimleri burada yönetilir.
- Domain Katmanı: İş kuralları, uygulamanın çekirdek mantığı ve entiteler bu katmanda bulunuyor. Domain katmanı, veritabanları ve kullanıcı arayüzlerinden bağımsız olarak işlev görür.
- Veri Katmanı: Veri saklama, erişim ve manipülasyon işlemleri bu katmanda gerçekleşiyor. Uygulamanın çekirdek mantığı ile veritabanları arasında bir köprü görevi görür.
Uygulama Örneği: Kurs Modülü
Yenilenen Open edX mobil uygulamasında Kurs
modülü, Temiz Mimarlığın nasıl işlediğinin bir örneğini sunuyor:
CourseOutlineView
veCourseContainerViewModel
: Kursun yapısını ve içeriğini sunan Sunum Katmanı ögeleridir.CourseInteractor
: Kurs etkileşimlerinin iş mantığını içeren Domain Katmanı temsilcisidir.CourseRepository
: Ağ ve disk operasyonlarını yöneten Veri Katmanı unsurudur.
Esneklik ve sürdürülebilirlik
Open edX mobil uygulamasının mimarisi, herhangi bir programlama diline veya platforma bağlı olmaksızın, esneklik ve sürdürülebilirlik sağlar. Uygulama, teknoloji ve kullanıcı ihtiyaçlarındaki değişikliklere kolayca uyum sağlayabilir. Veri doğrulama, hata yönetimi ve performans optimizasyonu gibi çeşitli teknik zorluklar, Temiz Mimarlık sayesinde kolayca ele alınır.
Sonuç
Open edX çözüm ortakları, Temiz Mimarlık ilkelerini benimseyerek, daha modern, güçlü ve esnek bir mobil uygulama mimarisi geliştirmiştir. Artistanbul ekibi olarak bu yenilenen mobil uygulama mimarisini kullanmaya, gelişimine katkıda vermeye başladık. Çok yakında müthiş mobil uygulamalarla karşınıza çıkarsak, şaşırmayın!