Cross Platform Yazılım

thunderhawk (8) 5 yıl önce sordu

Bir sistem tasarlıyorum. Tasarımı önce internet yazılımı olarak yapacağım. Bu tasarımla kurumsal, e-ticaret ve çeşitli alanlarda Web sitesi yapabilmeyi planlıyorum. Sonra bu oluşturduğum yazılıma gelecekte mobil yazılım ve masa üstü yazılımı da bağlamayı düşünüyorum. Yani entegre çalışan bir sistem yapacağım. Bağlamaktan kastım bu. Sistemi öyle bir tasarlamalıyım ki platform, programlama dili göz etmeksizin çalışsın. Proje üç parçadan oluşacak. Hatta ilerde buna masa üstü ve mobilde eklenecek. Bu parçalar kodları, metotları tuttuğum servis kısmı. Diğerleri Admin ve proje kısmı. Admin ve proje kısmında sorun yok. Asp.Net Core kullanırım. Fakat kodları tutacağım servis alanı tam bağımsız olmalı. Yani ben orayı C# diliyle de yazsam, orası hem Windows hem de Linux Hosting'nde ayrıca Admin ve Proje kısmında yazdığım programlama dili göz etmeksizin (mesela c#, pyhton, java...) her yerde çalışmasını istiyorum. Bunun için SOAP ve Rest servisleri kullanacağım. Mesela WCF'i. Fakat şuna takıldım. Acaba SOAP ve Rest servisi Host ettiğim ortamda kodlar Linux'da da çalışır mı. Windows'da çalışıyor. Örneğin SOAP servis içinde dosya işlemleri de yaptıracağım. Yani resim atacağım. Bunun için C#'daki System.IO'u kullanıyorum. Şimdi Server Linux olunca o resmi istediğim yere atar mı? Bunlar kafama takıldı. Özetle öyle bir sistem tasarlamalıyım ki kodları tuttuğum alan her platformda çalışsın. Kodları barındıran servisi hem Linux'a hem de Window Server'a atabilmeliyim. Ayrıca yazdığım masa üstü, mobil, web projeleri de hangi dille yazarsam yazayım o servisten gerekli tüm metotları projeme dahil edebileyim. 

Toplam 1 cevap


alattin (17127) 5 yıl önce cevapladı

Yaklaşımın doğru. Asp.net Core ile uygulama geliştirirken bunu Linux, Windows sunucularda host edebilirsin. Bu uygulama üzerinden geliştireceğin web servisler, Web Api'ler, tüm farklı platformlar tarafından kullanılabilir. REST ile farklı uygulamalar arasında veri transferi yapabilirsin.

.Net Core'un güzelliği burada sen hosting ortamını düşünme uygulamanı geliştir. Linux, Windows fark etmez.Kullanacağın metodlar, kütüphaneler hepsinde çalışır.

"yazdığım masa üstü, mobil, web projeleri de hangi dille yazarsam yazayım o servisten gerekli tüm metotları projeme dahil edebileyim. "  Web servisler bu iş için var. Web servisler Json, XML gibi evrensel formatlarla işliyor.

thunderhawk 5 yıl önce

Asp.Net Core yeni bir teknoloji. Bazı Tool'larının tam oturmadığını düşünüyorum. O yüzden hemen onu kullanmayacağım. Sizce hemen kullanmalıyım. Yani endişem yersiz mi? Çünkü ben de ona başlamak istiyorum. Büyük bir sistemi kaldırabilir mi?

thunderhawk 5 yıl önce

Bir de Asp.Net Core Mvc ile önceden kullandığım Resouce, Entity Framework gibi özellikleri aynen kullanabilir miyim? Yoksa Asp.Net Core için detaylı bir eğitime ve çalışmaya ihtiyacım mı olabilir mi. Mvc'im iyi. Hemen hemen hemen her şeyi kullanabiliyorum. Yeni bir sistem yapacağım. Onu en iyi bildiğim Asp.Net Framework Mvc ile yapmak istiyorum. Eğer Asp.Net Core'a geçiş o kadar çok zahmet olmayacaksa hemen geçmek isterim.

alattin 5 yıl önce

Asp.net Core şuanki Asp.net MVC ve Web Formdan çok daha hızlı ve yük kaldırabilir bir yapı. Derinlemesine girdiğinde mutlaka bazı eksikler çıkacaktır. Eğer Asp.Net Core'a yeni geçiş yapıyorsan ben ilk büyük projeni bununla yapmanı önermem. Öncesinde biraz oynamanda fayda var. EF 6 ve EF Core arasında farklılıklar var. Buradan görebilirsin: https://docs.microsoft.com/tr-tr/ef/efcore-and-ef6/ Benzer bir durum bende de söz konusu. uzmanim.net'i asp.net Core üzerinden yeniden yazmayı düşünüyorum. Şu aralar asp.net core ile biraz oynuyorum. Şeytan arada dürtüyor, otur yaz ruby ile diye. @thunderhawk