Apakah masuk akal untuk mengasumsikan / membutuhkan .NET framework hari ini?


24

Latar Belakang:

Saya memiliki proyek di mana saya harus memberikan kepada pengguna paket unduhan dengan beberapa data sensitif di dalamnya. Data perlu dienkripsi. Setelah mereka mengunduhnya, mereka harus dapat melihatnya (tidak perlu mengedit). Untuk pertanyaan ini, mari perkirakan data sebagai serangkaian file html statis. Karena datanya sensitif, data itu perlu dienkripsi kapan saja di dalam disk.

Kami berpikir untuk menyediakan opsi unduhan kepada pengguna yang akan memberi mereka file zip yang berisi dua file:

  • File data (kami mungkin akan menggunakan file zip terenkripsi di belakang layar) dengan data yang mereka minta
  • Aplikasi untuk melihat data yang secara tepat akan meminta frasa sandi dan menangani mendekripsi data dan menampilkannya melalui peramban web tertanam.

Detil tambahan:

  • Pengguna tidak berada di bawah kendali kami. Mereka adalah konsumen.
  • Kami tidak khawatir tentang lintas platform dalam pertanyaan ini. Ini hanya tentang Windows. Kami akan memiliki unduhan terpisah untuk pengguna Mac.

Dapatkan pertanyaan sudah:

Untuk aplikasi yang perlu kita buat, kita berdebat secara internal apakah masuk akal untuk aplikasi itu menjadi aplikasi .NET winforms. Kami ingin satu .exe, dan kami ingin unduhannya cukup kecil (mis. 100rb).

  • Berani kita menggunakan .NET framework (kita tidak perlu menggunakan versi terbaru .NET - 2.0 akan baik-baik saja)?
  • Apakah masuk akal untuk berasumsi bahwa sebagian besar konsumen memiliki .NET di mesin mereka sekarang karena Pembaruan Windows?
  • Apakah masuk akal untuk meminta yang tidak menginstalnya?

Kami tahu bahwa tidak 100% pengguna akan menginstal .NET. Pertanyaan sebenarnya adalah apakah masuk akal untuk meminta mereka memilikinya di zaman sekarang ini.

PS Apakah ada yang tahu statistik yang dapat diandalkan tentang berapa persen orang yang benar-benar sudah menginstal .NET?


Perlu diingat. NET harus diinstal dan bukan file yang rusak / hilang.
GrandmasterB

Jangan lupa untuk menangani pengguna yang berada di sistem operasi lain selain Windows, apakah mereka memiliki .net?
HLGEM

@HLGEM, sebagaimana disebutkan, kami akan memiliki unduhan terpisah untuk pengguna Mac yang berisi klien asli Mac yang serupa. Pengguna Linux tidak akan dapat menggunakan dukungan opsional ini untuk akses data offline dan harus hanya melihat data online di browser web mereka.
Erv Walter

Bagaimana dengan Mac?
JeffO

Ketinggalan melihat bagian itu.
HLGEM

Jawaban:


15

Secara default, Windows XP tidak menyertakan versi .NET framework. Vista, dan Server 2008 termasuk .NET Framework 3.0, Windows 7 dan Server 2008R2 termasuk .NET 3.5, dan Windows 2000 tidak dapat mendukung apa pun di atas .NET 2.0.

Dengan mengingat hal itu, maka akan menyebar ke OS yang tersebar di target audiens Anda. Saya akan mencantumkan persyaratan secara jelas pada halaman unduhan dan memberikan tautan ke bagian Pembaruan / Unduhan Microsoft untuk unduhan kerangka kerja, selain unduhan aplikasi Anda.


7

Saya tidak tahu apakah masuk akal untuk meminta mereka memilikinya atau tidak. Namun, saya tahu bahwa pelanggan sering kali tidak masuk akal, jadi saya tidak melihat itu penting. Jika Anda berurusan dengan sejumlah kecil pelanggan, tanyakan pada mereka. Jika Anda berurusan dengan lebih banyak pelanggan daripada yang bisa Anda ajak bicara, atau Anda akan menjemput pelanggan dari waktu ke waktu, pastikan mereka melihat persyaratan sebelum membeli.


7

Versi Windows apa yang digunakan pengguna Anda?

Jika Windows Vista, mereka akan menginstal .NET 3 secara default dan jika Windows 7 mereka akan memiliki versi 3.5. Sumber .

Itu tidak membantu jika mereka menggunakan XP, tetapi karena Microsoft baru saja menghentikan dukungan untuk SP2, mereka seharusnya menggunakan SP3.

Jika Anda menggunakan sesuatu seperti "ClickOnce" (ada installer lain yang tersedia), Anda dapat membuat versi relevan dari kerangka kerja NET. Prasyarat dan itu akan mengunduh dan menginstalnya untuk Anda - itu tidak termasuk dalam installer Anda . Jika Anda khawatir tentang ukuran unduhan, Anda dapat membuka .NET 3.5 atau 4 dan membuat Profil Klien yang merupakan unduhan yang jauh lebih kecil, meskipun versi .NET 4 lebih fleksibel.


Siapa pun di masyarakat umum mungkin adalah pengguna. Saya berharap kita masih memiliki beberapa orang di XP.
Erv Walter

4

Beberapa waktu yang lalu saya membaca beberapa posting dari Paint.NET pada proses instalasi, dan bagaimana memperbaikinya. Lihatlah dua entri blog ini. Yang pertama menjelaskan kecanggungan memasang .NET Framework secara terpisah; yang kedua menjelaskan bagaimana penulis mengintegrasikannya sebagai bagian dari instalasi.

Pengalaman menginstal Paint.NET - Bagian 1, versi 3.xx (cara buruk lama)
Pengalaman menginstal Paint.NET - Bagian 2, versi 4.0 (cara baru yang baik)

Jadi, bahkan jika Anda akan memerlukan .NET Framework, dan Anda tidak yakin apakah pengguna akan memilikinya, Anda setidaknya dapat mengintegrasikan pemasangannya dengan aplikasi Anda dengan cara yang tidak menyakitkan.


3

Banyak pengguna korporat yang tidak menggunakan Windows versi terbaru (Masih menggunakan XP), tetapi saya pikir semakin banyak pengguna rumahan yang mengalami peningkatan karena perangkat keras baru. Mengunduh dan menginstal sedikit menyusahkan. Apakah file ini biasanya hanya satu kali per klien atau apakah mereka akan terus mendapatkan file di masa mendatang?

Apa pilihan Anda yang lain? Apakah file Acrobat terlindungi dengan kata sandi cukup? Akan jauh lebih mudah untuk diblokir: menyimpan, mencetak, dan menyalin dan menempel.

Sepertinya Anda menciptakan kembali roda, tapi saya tidak memiliki semua yang spesifik.


PDF terenkripsi mungkin merupakan solusi yang bisa diterapkan, dan saya pikir lebih masuk akal untuk menganggap pembaca acrobat (setidaknya pada Windows). Kami mencoba untuk menghindari reinventing the wheel :) Solusi ideal hanya akan menjadi file zip terenkripsi, tetapi Windows tidak mendukung mendekripsi file zip yang menggunakan enkripsi AES dan dengan asumsi orang memiliki WinZip jauh lebih tidak mungkin daripada. NET saya pikir.
Erv Walter

PS Sebagian besar adalah pengguna rumahan dan mereka akan mendapatkan file yang diperbarui secara berkala (bukan hanya satu kali unduhan).
Erv Walter

Saya pikir solusi .NET akan bekerja. Pengguna akan memiliki Acrobat, tetapi saya tidak tahu apakah ada masalah lisensi di pihak Anda untuk membuat file yang dienkripsi.
JeffO

3

Saya melakukan riset pada subjek dengan melacak data pada lebih dari 10.000 instalasi di seluruh dunia untuk aplikasi desktop yang menargetkan .Net Framework 3.5 sp1. Hanya sekelompok (sekitar 10) yang tidak memiliki kerangka kerja yang tepat diinstal. Saya menghapus file instalasi .net framework yang berat dari installer, dan belum melihat adanya masalah.

Saya sangat menyarankan Anda untuk melakukan studi yang sama di pasar Anda dan memutuskan berdasarkan hasil daripada pada jawaban yang Anda dapatkan di komunitas seperti ini.


Atau mungkin orang yang belum menginstal .NET tidak pernah peduli dengan program Anda. Anda mungkin membatasi basis pengguna Anda sendiri, terutama untuk pengguna baru, yang tidak meningkatkan dari versi sebelumnya dari program Anda.
Lie Ryan

Kebohongan, itulah mengapa Anda perlu melakukan studi SENDIRI. Basis pelanggan saya mungkin jauh berbeda dengan Anda. Statistik online juga tidak akan membantu Anda.

Tidak, yang saya maksudkan adalah jika Anda melakukan studi berdasarkan pelanggan Anda sendiri, apakah mereka meningkatkan (dalam hal ini, mereka sudah memiliki .NET) atau mereka pengguna baru (dalam hal ini, mereka telah mempelajari tentang program Anda kebutuhan). Either way, mempelajari basis pelanggan Anda sendiri kemungkinan besar cenderung memiliki .NET. Banyak calon pengguna baru kemungkinan akan dimatikan ketika mereka membaca program Anda .NET diperlukan, dan mencari solusi lain. Anda membatasi basis pelanggan baru Anda sendiri, jika Anda mendasarkan keputusan Anda pada itu.
Lie Ryan

10.000 hanya pengguna baru yang tidak tahu apa-apa tentang persyaratan (mereka tidak dipublikasikan, hanya tautan unduhan ke yang dapat dieksekusi).

1

Tergantung pada demografi Anda ...

Jika saya ingin seseorang [1] dapat menggunakannya, saya akan membuat aplikasi 32-bit yang berjalan pada Win98 dan W7.

Itu mungkin berarti hal-hal C ++ / MFC.

[1] Siapa pun dengan mesin yang lebih muda dari 12 tahun yang memiliki koneksi internet yang menjalankan Windows 98+.


Jadi "siapa saja" tidak termasuk pengguna non-Windows? -feels sedih bahwa saya bukan siapa
alternatif

@mathepic - si penanya telah dengan jelas menyatakan bahwa pertanyaan ini menyangkut distribusi Windows, dan bahwa ada distribusi Mac dan Linux terpisah yang tidak ia tanyakan dalam pertanyaan ini.
Carson63000

1
Atau hal-hal Delphi / VCL - tetapi gunakan versi yang lebih lama. C / C ++ bukan satu-satunya bahasa asli untuk Windows. Atau bahkan VB6 (maaf sudah bersumpah).
Gerry

@Gerry: Benar. :) Saya hanya belum pernah mendengar Delphi banyak dibicarakan dalam 8 tahun terakhir jadi saya tidak terbiasa memikirkannya.
Paul Nathan

Memang. Saya telah bekerja dengannya selama 12 tahun, dan sulit menemukan pekerjaan permanen, yang sangat disayangkan karena telah melihat banyak peningkatan (Unicode lengkap, generik, metode anonim (penutupan)) dalam beberapa tahun terakhir,
Gerry


-4

Jika Anda tahu, bahwa 100% pelanggan Anda tidak memilikinya, mengapa Anda memberi kode aplikasi dengan .net?

Anda bisa menggunakan Java dan membuat Aplikasi Mulai-Web.

Namun pada kenyataannya, Anda dapat menggabungkan kerangka .net dengan installer. Jika Pelanggan mempercayai Anda untuk menginstal Aplikasi Anda, ia akan menginstal .net juga.


7
Aplikasi Java web start akan membutuhkan Java yang sama buruknya dengan yang membutuhkan .NET. Dan kami tidak dapat memasukkan .NET di installer, itu akan membuat unduhan terlalu besar. Seperti disebutkan, kami mencari unduhan kecil (yaitu 100rb atau kurang).
Erv Walter

Aplikasi start web Java juga lambat!
DL

Anda tidak menulis tentang ukuran unduhan 100 ribu.
ckuetbach

Maaf soal itu tidak menjadi lebih eksplisit (saya akan edit), tetapi tersirat oleh, "dan kami ingin unduhannya cukup kecil."
Erv Walter

-6

Pastikan bahwa paket yang Anda kirim mengandung ketergantungan pada versi kerangka kerja yang diperlukan. Kemudian manajer paket yang dimiliki pengguna akan menarik versi kerangka kerja yang diperlukan dan menginstalnya sebelum paket Anda.

Oh, sistem operasi yang Anda targetkan memiliki sistem manajemen paket yang sangat lumpuh, yang tidak dapat melakukan ini? Seharusnya OS yang buruk. Nah, maka Anda hanya memiliki satu opsi: memerlukan kerangka kerja ini diinstal dan menyediakan tautan bagi pengguna untuk melakukannya. Saya tidak melihat manfaat dari pengguna, jika bagian nyata dari apa yang dilakukan pengembang dikhususkan untuk kompatibilitas yang tidak berguna dengan alat OS "standar" (kali ini bisa digunakan untuk memperbaiki bug dan menambahkan fitur).


Sebanyak yang saya lihat bagaimana jawaban (yang agak jujur) ini dapat dilihat sebagai FUD, saya tidak melihat siapa pun yang menjelaskan downvotes ...
alternatif

10
Penjelasan tentang downvote saya: Pavel sama sekali tidak membantu dalam menanggapi pertanyaan, hanya mengambil kesempatan untuk bash Windows.
Carson63000

1
Lebih baik lagi, gunakan bahasa yang tidak memerlukan kumpulan besar perpustakaan untuk menghasilkan sesuatu yang bernilai sementara, misalnya Delphi pada Windows;)
Gerry

1
@Gerry, intinya adalah bahwa pengembang ingin menggunakan bahasa yang mereka tahu dan temukan produktif, yang akan meningkatkan kecepatan pengembangan mereka, dan memungkinkan untuk menggunakan kembali upaya yang dimasukkan ke perpustakaan ini.
P Shved

1
Dalam Delphi world libraries (komersial dan Open Source) biasanya hanya diinstal pada mesin pengembangan - semuanya (selain OS dan sesekali pihak ketiga disediakan DLL) dikompilasi menjadi sebuah exe tunggal. Tapi kadang-kadang perpustakaan OSS-C dibungkus dalam DLL untuk menelepon dari Delphi
Gerry
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.