Bu günlerde .NET çerçevesini kabul etmek / zorunlu kılmak mantıklı mı?


24

Arka fon:

Kullanıcıya içinde bazı hassas veriler bulunan bir indirme paketi sağlaması gereken bir projem var. Verilerin şifrelenmesi gerekiyor. İndirdikten sonra, görüntüleyebilmeleri gerekir (düzenleme gerekmez). Bu soru için, verileri bir dizi statik html dosyası olarak tahmin edelim. Veriler hassas olduğundan, diskte olduğu zaman şifrelenmesi gerekir.

Kullanıcıya iki dosya içeren bir zip dosyası verecek bir indirme seçeneği sunmayı düşünüyoruz:

  • Bir veri dosyası (muhtemelen sahnelerin arkasında şifreli bir zip dosyası kullanırız) istedikleri verilerle birlikte
  • Bir parola istemek ve verilerin şifresini çözmek ve gömülü bir web tarayıcısı aracılığıyla görüntülemek için kullanılan verileri görüntülemek için bir uygulama.

Ek detaylar:

  • Kullanıcılar bizim kontrolümüz altında değil. Tüketiciler.
  • Bu konuda çapraz platform konusunda endişeli değiliz. Bu sadece Windows ile ilgili. Mac kullanıcıları için ayrı bir indirme yapacağız.

Soruya zaten var:

Oluşturmamız gereken bu uygulama için, bu uygulamanın bir .NET winforms uygulaması olması makul olup olmadığını dahili olarak tartışıyoruz. Tek bir .exe istiyoruz ve indirmenin oldukça küçük olmasını istiyoruz (örn. 100k).

  • .NET çerçevesini kullanmaya cesaret edelim (özellikle yeni bir .NET - 2.0 sürümü kullanmamıza gerek kalmayacaktı).
  • Çoğu tüketicinin Windows Update nedeniyle şu anda makinelerinde .NET olduğunu varsaymak mantıklı mı?
  • Yüklemelerini almayanlara sormak mantıklı mı?

Kullanıcıların% 100'ünün .NET yüklü olmayacağını biliyoruz. Asıl soru, bu gün ve yaşta onlardan almalarını istemek makul olup olmadığıdır .

PS Hiç kimse aslında .NET'in yüklü olan yüzdesinin güvenilir istatistiklerini biliyor mu?


.NET'in yüklü ve bozuk / eksik olmayan dosyalar olması gerektiğini unutmayın .
GrandmasterB

Unutmayın, Windows dışında başka işletim sistemlerinde bulunan kullanıcıları da kullanmayı unutmayın. Net?
HLGEM

@HLGEM, belirtildiği gibi, benzer bir yerel Mac istemcisi içeren Mac kullanıcıları için ayrı bir indirme işlemimiz olacak. Linux kullanıcıları bu isteğe bağlı desteği çevrimdışı veri erişimi için kullanamazlar ve verileri web tarayıcılarında çevrimiçi olarak görüntülemek zorunda kalırlar.
Erv Walter

Peki ya Mac'ler?
JeffO

Bu kısmı görmedim.
HLGEM

Yanıtlar:


15

Varsayılan olarak, Windows XP, .NET çerçevesinin herhangi bir sürümünü içermez. Vista ve Server 2008'de .NET Framework 3.0, Windows 7 ve Server 2008R2'de .NET 3.5 bulunur ve Windows 2000, .NET 2.0'ın üstündeki hiçbir şeyi destekleyemez.

Bunu akılda tutarak, hedef kitlenizdeki işletim sisteminin yayılmasıyla ilgilidir. Gereksinimi indirme sayfasında belirgin bir şekilde listeleyip uygulama indirme işleminize ek olarak, çerçeve indirme işlemi için Microsoft Update / İndirmeler bölümüne bir bağlantı sağlar.


7

Onlara sahip olmalarını istemek makul olup olmadığını bilmiyorum. Ancak, müşterilerin genellikle mantıksız olduğunu biliyorum, bu yüzden önemli olduğunu görmüyorum. Sınırlı sayıda müşteriyle ilgileniyorsanız, onlara sorun. Makul bir şekilde konuşabileceğinizden daha fazla müşteri ile çalışıyorsanız veya zaman içinde müşterileri alacaksanız, satın almadan önce gereksinimi gördüklerinden emin olun.


7

Kullanıcılarınız hangi Windows sürümünde?

Windows Vista ise, varsayılan olarak .NET 3 yüklenir ve Windows 7 ise 3.5 sürümüne sahip olur. Kaynak .

Bu, XP kullanıyorlarsa yardımcı olmaz, ancak Microsoft SP2 desteğini yeni durdurduğu için SP3'te olması gerekir.

"ClickOnce" gibi bir şey kullanıyorsanız (mevcut diğer yükleyiciler var), .NET çerçevesinin ilgili sürümünü bir ön koşul haline getirebilir ve sizin için indirip yükleyebilir - yükleyicinize dahil değildir . İndirmenin boyutu konusunda endişeliyseniz , .NET 3.5 veya 4 sürümüne gidebilir ve .NET 4 sürümü daha esnek olmasına rağmen, çok daha küçük bir indirme olan Müşteri Profilini oluşturabilirsiniz.


Genel halktaki herkes bir kullanıcı olabilir. Beklentileri hala XP'de tutacağımızı umuyorum.
Erv Walter,

4

Bir süre önce, Paint.NET'ten bazı yükleme işlemlerini ve bunun nasıl geliştirileceğini okudum. Bu iki blog girişine bir göz atın. Birincisi, .NET Framework'ün ayrı olarak kurulmasının garipliğini açıklar; ikincisi, yazarın onu yüklemenin bir parçası olarak nasıl entegre ettiğini açıklar.

Paint.NET yükleme deneyimi - Bölüm 1, sürüm 3.xx (eski kötü yol)
Paint.NET yükleme deneyimi - Bölüm 2, sürüm 4.0 (yeni iyi yol)

Dolayısıyla, .NET Framework'e ihtiyacınız olsa bile ve kullanıcıların buna sahip olup olmayacağından emin değilseniz, en azından kurulumunu uygulamanızla makul bir şekilde ağrısız bir şekilde bütünleştirebilirsiniz.


3

Birçok kurumsal kullanıcı Windows'un en son sürümünde değil (hala XP'de), ancak daha fazla ev kullanıcısının yeni donanım nedeniyle yükseltme yaptığını düşünüyorum. İndirme ve yükleme biraz acı verici. Bu dosya genellikle müşteri başına bir kerelik bir şey midir, yoksa gelecekte dosya almaya devam eder mi?

Diğer seçeneklerin neler? Parola korumalı Acrobat dosyaları yeterli mi? Engellenmesi çok daha kolay olurdu: kaydetme, yazdırma ve kopyalama ve yapıştırma.

Tekerleği yeniden icat ediyor gibi görünüyorsun, ama benim bütün özelliklere sahip değilim.


Şifreli PDF'ler uygulanabilir bir çözüm olabilir ve akrobat okuyucuyu benimsemenin daha makul olacağını düşünüyorum (en azından Windows'ta). Tekerleği yeniden icat etmekten kaçınmaya çalışıyoruz :) İdeal çözüm, yalnızca şifreli bir zip dosyası olurdu, ancak Windows, AES şifrelemesi kullanan zip dosyalarını deşifre etmeyi desteklemiyor ve insanların WinZip'in .NET'ten çok daha olası olmadığını varsayar.
Erv Walter

PS Büyük ölçüde ev kullanıcıları ve periyodik olarak güncellenmiş dosyaları alacaklar (yani sadece bir defalık indirme değil).
Erv Walter

Bir .NET çözümü işe yarayacağını düşünüyorum. Kullanıcılar Acrobat’a sahip olacaklardı, ancak gömülü dosyaları oluşturmak için ucunuzda lisans sorunları olup olmadığını bilmiyorum.
JeffO

3

Net Framework 3.5 sp1'i hedef alan bir masaüstü uygulaması için dünya genelinde 10000'den fazla kurulum hakkındaki verileri izleyerek konu hakkında biraz araştırma yaptım. Sadece bir demet (yaklaşık 10) uygun çerçeveye sahip değildi. Ağır. Net framework kurulum dosyasını yükleyiciden kaldırdım ve henüz herhangi bir sorun fark etmedim.

Aynı çalışmayı kendi pazarınızda yürütmenizi ve bunun gibi topluluklara verebileceğiniz cevaplar yerine sonuçlara dayanarak karar vermenizi önemle tavsiye ederim.


Veya muhtemelen .NET yüklü olmayan kişiler, programınızla hiç uğraşmazlardı. Özellikle programınızın önceki bir sürümünden yükseltme yapmayan yeni kullanıcılar için kendi kullanıcı tabanınızı sınırlıyor olabilirsiniz.
Lie Ryan,

Lie, bu yüzden KENDİ çalışmalarını yürütmen gerekiyor. Müşteri tabanım muhtemelen sizinkinden çok farklı. Çevrimiçi istatistikler de size yardımcı olmayacak.

Hayır, demek istediğim, kendi müşteri tabanınızda bir çalışma yaparsanız, ya yükseltiyorlardı (bu durumda zaten .NET var) ya da yeni kullanıcılarsa (bu durumda, programınız hakkında zaten bilgi edinmişlerdir). gereksinimi). Her iki durumda da, kendi müşteri tabanınızı incelemek .NET'e olan eğilimin çok yüksek olması muhtemel. Birçok potansiyel yeni kullanıcı, programınızı okuduklarında kapatılması muhtemeldir. Kararını buna dayandırırsan, kendi yeni müşteri tabanını sınırlıyorsun.
Lie Ryan,

10.000 yalnızca gereksinimler hakkında hiçbir şey bilmeyen yeni kullanıcılardır (yayınlanmamıştır, yalnızca bir çalıştırılabilir dosya indirme bağlantısı).

1

Demografik bilgilerinize bağlı ...

Ben isteseydim kimse [1] Win98 ve W7 aday olacağını bir 32 bit uygulamasını finangle olur, onu kullanın edebilmek için.

Bu muhtemelen C ++ / MFC şeyler demektir.

[1] 12 yaşından küçük bir makineye sahip, Windows 98+ çalıştıran internet bağlantısı olan herkes.


Yani "kimse" Windows olmayan kullanıcıları içermez? kimsenin kim olmadığına üzülüyor-
alternatif

@ mathepic - soru sahibi, bu sorunun Windows dağıtımına ilişkin olduğunu ve bu soruda sormadığı ayrı Mac ve Linux dağıtımları olduğunu açıkça belirtti.
Carson63000

1
Veya Delphi / VCL şeyler - ancak daha eski bir sürüm kullanın. C / C ++, Windows için tek ana dil değildir. Veya VB6 bile (yemin ettiğim için üzgünüm).
Gerry

@Gerry: Doğru. :) Delphi'nin son 8 yılda çok şey bıraktığını duymamıştım, bu yüzden düşünmeye alışkın değilim.
Paul Nathan,

Aslında. 12 yıldır bu konuda çalıştım ve son birkaç yılda birçok gelişme (tam Unicode, jenerik, anonim yöntemler (kapanmalar)) gördüğüne üzücü olan kalıcı bir iş bulmakta zorlanıyorum.
Gerry


-4

Müşterilerinizin% 100’ünün bu olmadığını biliyorsanız, uygulamayı neden .net ile kodladınız?

Java'yı kullanabilir ve bir Web Başlat Uygulaması oluşturabilirsiniz.

Ancak, .net çerçevesini yükleyiciyle birlikte paketleyebilirsiniz. Müşteri, Uygulamanızı yüklemeniz konusunda size güveniyorsa, .net'i de yükleyecektir.


7
Bir Java web başlatma uygulaması, .NET'i gerektiren kadar kötü olan Java'yı gerektirir. Yükleyiciye .NET'i ekleyemiyoruz, bu da indirmeyi çok fazla yapacak. Belirtildiği gibi, küçük bir indirme (100k veya daha az) arıyoruz.
Erv Walter

Java web start uygulaması da yavaştır!
DL

100K indirme boyutu hakkında yazmadınız.
ckuetbach

Bunun daha açık olmayışı için üzgünüm (düzenleyeceğim), ancak "ve indirme işleminin oldukça küçük olmasını istiyoruz."
Erv Walter,

-6

Gönderdiğiniz paketin çerçevenin gerekli sürümüne bağımlı olduğundan emin olun. Ardından kullanıcının sahip olduğu paket yöneticisi gerekli çerçeve sürümünü seçer ve paketinizden önce kurar.

Oh, hedeflediğiniz işletim sisteminin çok sakat bir paket yönetim sistemi var, bunu yapamaz mı? O zaman kötü bir işletim sistemi olmalı. Öyleyse tek bir seçeneğiniz var: bu çerçevenin kurulu olmasını ve kullanıcının yapması için bağlantıyı sağlayın. Geliştiricilerin yaptığı şeyin farkedilir bir kısmı "standart" işletim sistemi araçlarıyla işe yaramaz bir şekilde uyuyorsa, kullanıcıların nasıl fayda sağladığını göremiyorum (bu sefer hataları düzeltmek ve bunun yerine özellikler eklemek için harcanabilir).


Bu (biraz doğrudur) cevabın FUD olarak nasıl görülebildiğini gördüğüm kadarıyla, indirgemeleri açıklayan hiç kimseyi göremiyorum ...
alternatif

10
Olumsuz oyumun açıklaması: Pavel, soruya cevaben kesinlikle hiçbir şey önermedi, sadece Windows'u basmak için fırsat aldı.
Carson63000

1
Daha da iyisi, önemli bir kütüphane havuzunu gerektirmeyen bir dil kullanın, buna rağmen herhangi bir şeyi üretmek için mesela, Windows'taki Delphi;)
Gerry

1
@Gerry, asıl mesele, geliştiricilerin tanıdıkları ve üretken buldukları bir dili kullanmak, gelişim hızlarını artıracak ve bu kütüphanelere harcanan çabanın tekrar kullanılmasına izin verecekleri.
P,

1
Delphi dünyasında kütüphaneler (ticari ve Açık Kaynak) normalde sadece geliştirme makinelerine kurulur - her şey (işletim sistemi ve arada bulunan üçüncü taraf DLL'ler) tek bir exe halinde derlenir. Ama bazen OSS-C kütüphaneleri Delphi
Gerry'den
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.