Orchard Core: Modern ve Modüler Uygulama Geliştirme Çatısı

İki yılı aşkın süredir tam zamanlı olarak üzerinde çalıştığım ve geliştirdiğim uygulamaların çekirdeğinde yer alan Orchard Core’u biraz tanıtmak istiyorum. Orchard aslında 2010’lı yıllarda .Net ile geliştirilmiş bir CMS olarak ortaya çıkmış ve uzunca zaman CMS üzerinde derinleşmiş bir uygulama idi. O zamanlarda kullanıp, bir kaç web sitesi yayına almışlığım vardı. .Net ekossiteminin gelişmesi, platform bağımsız ve açık kaynak olması ile beraber, Orchard –> Orchard Core olarak geliştirilmeye ve evrilmeye başlandı. İlk beta versiyonu 2018 yılında yayınlandı ve şuan en güncel sürüm olarak 1.8.3 bulunuyor.

Orchard Core’un gelişimini takip ettiğim ve geçmiş versiyonlarıylada geliştirmeler yaptığım için, yeni geliştireceğimiz web uygulamaları konusunda ciddi bir adaydı. Modern, çoklu kiracılı, modüler bir uygulama geliştirmek meşakkatli, çokça altyapıya emek isteyen bir iş. Çok özel ihtiyaçlarınız yada kısıtlanırız yoksa, bir uygulama geliştirme çatısı kullanmak çok avantajlı. Özellikle küçük ve orta büyüklükteki geliştirim yapan şirketlerin bu tarz araçlar kullanmasını çok faydalı buluyor ve Orchard Core gibi uygulamaların üzerine eğilmeleri gerketiğini düşünüyorum.

Web tabanlı bir uygulama geliştirmek isteyen ve ASP.NET Core ile geliştirim yapabilecekler için Orchard Core bir çok özelliği kendi bünyesinde barındırıyor. CMS özelliği isteyin yada istemeyin, Orchard Core modüler olduğu için, sadece uygulama geliştirme altyapısı olarakta kullanabilirsiniz, CMS modülü vasıtasıyla içerik girip, bu içerikleri çok esnek bir yapıda yönetebileceğiniz yetenek setinede sahip olabilirsiniz. Çoklu kiracılı yapıyı desteklediği için, tek bir kurulumda N tane uygulamayı izole olarak yönetebilir, her birinin gerekiyorsa yönetim ekranları birbirinden izole olarak çalışabilmektedir.

“Document database” yaklaşımı sayesinde, veriler json formatında tutulmakla birlikte, SQL ile veri çekebilmeye destek vermesi için, her bir veri tipi için index tablolarını otomatik oturularak veri tutulmakta ve hibrit bir yaklaşık benimsenmiştir.

Orchard Core’un bir çok temel özelliğine https://docs.orchardcore.net/en/latest/ sayfasındaki dokümantasyonlardan erişebilirsiniz.

Orchard Core kullanan bir geliştirici, biraz fullstack takılarak, zengin bir web uygulamasını tek başına geliştirebilir. Sağladığı tema ve modül destekleri, liquid desteği, graphql, rest api desteği, yönetim panelinden sql ve dinamik veri yapıları desteği bir çok önemli bir çok özelliği bünyesinde bir harmoni ile bulundurması sayesinde, geliştiricilerin sadece ihtiyaç ile ilgilenmesine olanak sağlamaktadır.

Bir ihtiyaç için geliştirim yapacakken, bunun logu nasıl yazılacak, veriyi girip, yönetebileceğin ekranlardan, yetkilendirmeye, api desteği sunmaya, cache ve performans gibi noktalara takılmadan geliştirebilmeye olanak sağlaması ciddi katalizör oluyor.

Özellike C# ile web uygulaması geliştiren kişilerin, C# ile haşır neşir olmuş arayüz gelişticilerin kullanmasını faydalı buluyorum.

Orchard Core ile ilgileniyor veya bir destek ihtiyacınız varsa, eposta ile iletişime lütfen çekinmeden geçin.

Faydalı linkler:

https://github.com/OrchardCMS/OrchardCore

https://www.youtube.com/@Lombiq