Microsoft'un kütüphaneleri neden Newtonsoft.Json'a bağlıdır?


18

Bu, Microsoft ASP.NET Web API kitaplığı oluşturduğunda muhtemelen geri dönmüştü, en azından yanılmıyorsam hatırlıyorum. Her neyse, o zamandan beri, HTTP paketleri, JSON'a ve JSON'dan veri (de) serileştirme için Newtonsoft.Json kütüphanesine bağlı olarak başladı.

Microsoft kadar büyük bir şirket neden açık kaynaklı bir kitaplığa bağımlılık getirsin ki? Bildiğim kadarıyla .NET ile tamamen açık bir kaynağa gidecek olsalar bile garip buluyorum, çünkü bağımlılık olarak kullanılan tek Microsoft dışı kütüphane olduğu için.

Bonus soru olarak, James Newton-King Microsoft'tan finansal destek alıyor mu?


14
Microsoft'un atmak için para torbaları varmış gibi geliyor. Oldukça zengin olmalarına rağmen, kaynakları sınırsız değildir, bu da hesaplarını sizinkiyle aynı kılar: "Neden mükemmel bir açık kaynak alternatifi zaten mevcut olan bir şeyi yazmak için zaman ve para harcamalıyım?"
Robert Harvey

Microsoft yıllar önce daha açık kaynak dostu olmaya başladı; jQuery'yi ASP.NET MVC'ye önceden paketlediler. .NET ile açık kaynak kodlu geçiş, bu geçişin bir parçasıdır.
Robert Harvey

4
JSON.NET'in tarihi hakkında daha fazla bilgiyi burada bulabilirsiniz: newtonsoft.com/json/help/html/Introduction.htm
Robert Harvey

Neden olmasın? Dünya standartlarında bir JSON serileştirme kütüphanesi, MS'in akıllıca enerjilerini diğer sorunlara odaklamaya ve tekerleği yeniden keşfetmeye karar vermediğini tahmin ediyorum.
Fergal Moran

6
İlginçtir, James Newton-King Mart 2018'de Microsoft'a katılacağını açıkladı.
Jeroen

Yanıtlar:


19

Bulduğum en doğrudan teklif, Scott Guthrie'nin MVC 4 yol haritasına ilişkin 2012'de (şu anda çevrimdışı ama Wayback Machine aracılığıyla kullanılabilir ) açıklamasını şu alıntıyı içeriyor:

Json.NET : Topluluk tarafından geliştirilen Json.NET serileştirme yığınını ASP.NET Web API'sindeki varsayılan JSON biçimlendiricimizde kullanmayı planlıyoruz. Json.NET, modern bir web çerçevesi için gereken esnekliği ve performansı sağlar.

Bu nedenle basit neden, mevcut en iyi JSON kütüphanesi iken, MVC, Microsoft'un MS ve diğer yazılım devlerini karakterize eden ve türünün en iyisi açık kaynaklı projelere ulaşan yerleşik NIH tutumunu ortadan kaldıran ilk büyük projelerinden biriydi. kendi tekliflerinin temeli olarak.


Her şey adil ve kesinlikle "NIH" geri dönmek istemiyorum. Yine de, bu kütüphanenin hala MS'nin yığınına dahil edilmesini diliyorum. Bunun nedeni, herhangi bir harici kütüphanenin herhangi bir harici, çekirdek olmayan çerçeve bağımlılığına sahip olmaması için büyük bir baskı var. Bu, bunun zor bir şey olduğu sık sık karşılaşılan tek kütüphane ve şaşılacak bir şey yok, bu ekmek ve tereyağı işlevselliği, yerel XML araçları (XElement vb.) Olmadan .NET'i düşünmek gibi. Hiç şüphe yok ki tüm nuget (1) 1 numaralı kütüphane. Benim 2 sentim.
Nicholas Petersen

1
@NicholasPetersen Burada .NET Standardına dahil etmek için bir teklif hakkında bilgi edinebilirsiniz. Son olarak tartışmayı kontrol ettim, çoğunluk buna karşıydı, ancak belki de standart kütüphanelere bir alt küme, daha hafif bir JSON ayrıştırıcı dahil etmek için.
Avner Shahar-Kashtan

Bazılarının belirttiği gibi .NET Standardının bir parçası olarak eklenmesi gerektiğini düşünmeme rağmen iyi puanlar veriyorlar, çünkü her zaman netstandard'a çimento dökmek için çok ağır görünüyor. Düşüncem netcore'un bir parçası olarak dahil edildi (sanırım corefx'te), ama itiraf ediyorum, burada istediğim şeyde naif olabilirim. Bazı insanlar bunun NET Vakfı'nın bir parçası olduğunu öne sürdü, kulağa hoş geliyor, ama bunun diğer kütüphanelerin çerçevenin dışında bir kütüphaneye başvurmasına izin vermeme gerçek dünya sorununu hafifletip hafifletmeyeceğini bilmiyorum.
Nicholas Petersen
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.