Bagaimana cara mengembangkan aplikasi tablet lini bisnis sebagai pengembang .NET? [Tutup]


9

Perusahaan saya memiliki banyak pengalaman dalam pengembangan .NET, dan salah satu produk kami dalam sistem ERP. Baru-baru ini, seorang pelanggan bertanya kepada kami apakah kami dapat menyediakan antarmuka tablet ke sistem itu, yaitu, perangkat lunak yang memungkinkan pelanggan untuk melihat informasi produk dan membuat pesanan pada tablet.

Tentu saja, kami tidak senang dengan ide menginvestasikan banyak waktu dan uang untuk mempelajari Objective-C, membeli workstation pengembangan Mac, membayar biaya kepada Apple, dll. Hanya untuk proyek yang satu ini (kami mungkin dapat menjual aplikasi tersebut) kepada beberapa pelanggan tambahan sesudahnya, tetapi pasar sangat kecil, karena hanya akan berguna bagi pelanggan yang sudah ada dalam sistem ERP kami).

Jadi apa yang harus kita lakukan? Sejauh yang saya bisa lihat, kami memiliki opsi berikut:

  • Tulis " aplikasi Windows lama yang biasa " (WPF) dan jalankan di tablet Windows 7, seperti Samsung Slate atau Acer Iconia.

    Kerugian: Perangkat berat dan mahal dengan waktu pengoperasian yang singkat (dibandingkan dengan tablet "asli").

  • Tunggu tablet berbasis ARM Windows 8 dan tulis aplikasi Metro (WinRT).

    Kekurangan: Tunggu setidaknya satu tahun; tidak jelas apakah Windows 8 ARM akan mendukung pemasangan aplikasi B2B khusus tanpa melalui app store.

  • Gunakan mono untuk Android dan tulis aplikasi .NET untuk Android.

    Kelemahan: Namun perpustakaan UI lain (berbeda dari WPF dan Silverlight); beberapa penyedia melarang pembatalan aplikasi.

Sejauh ini, opsi 1 dan 3 tampaknya paling realistis. Apakah saya kehilangan kekurangan atau kelebihan yang jelas? Apakah ada opsi lain yang belum saya pertimbangkan? Apakah Anda pernah berada dalam situasi yang sama dan (berhasil) memilih satu opsi tertentu?


2
@Downvoter: Umpan balik untuk meningkatkan pertanyaan sangat dihargai ...
Heinzi

11
Anda lupa dua opsi lain: 1.) belajar Java dan menulis aplikasi Android atau 2.) Mengatakan tidak
Jetti

Untuk beberapa saran tentang pengembangan seluler untuk pengembang .NET, dengarkan podcast ini: hanselminutes.com/305/… .
Treb

1
@FrustratedWithFormsDesigner Lihat jawaban saya
ediblecode

1
@Nupul: Tidak, saya tidak punya jawaban, saya hanya punya satu pilihan (menulis aplikasi iPad asli di Objective-C) dikesampingkan. Masih ada opsi lain, yang mungkin layak secara ekonomi, maka pertanyaan saya di sini. ;-)
Heinzi

Jawaban:


10

JQuery Mobile + Phone Gap Build .

Ini pada dasarnya mengatakan "gunakan HTML5 dan JavaScript untuk membangun aplikasi Anda", seperti yang telah dikatakan sebelumnya, tetapi dengan sentuhan penting.

Layanan Phone Gap Build Nitobi (sekarang dimiliki oleh Adobe) memungkinkan pengembang untuk mengonversi aplikasi HTML5 / JavaScript ke aplikasi "asli" (benar-benar aplikasi hybrid) yang dapat digunakan secara lokal ke perangkat. Ini pemahaman saya bahwa pada dasarnya apa yang terjadi di bawah tenda adalah pengemasan biner asli kecil yang memanggil browser asli dan memuat situs Anda dari file: // URL.

Anda tidak perlu menargetkan kerangka kerja JavaScript tertentu - HTML & JavaScript yang sama yang akan bekerja dengan sangat baik di aplikasi web seluler akan berfungsi dengan baik.

Dukungan offline juga tidak sulit. Dengan penyimpanan browser lokal yang didukung dengan banyak perangkat seluler, Anda dapat membangun aplikasi offline yang benar-benar kuat dengan cara ini. Praktik terbaik untuk mengemas dependensi eksternal Anda secara lokal dan bukan menggunakan CDN, sehingga aplikasi Anda berfungsi dengan baik secara offline.

Kerangka kerja seperti KnockoutJS dan BackboneJS sangat membantu dalam memungkinkan Anda untuk membangun aplikasi JavaScript yang direkayasa dengan baik, dan mereka berfungsi dengan baik dengan layanan pembangunan Phone Gap.

Ketika perangkat sedang online, Anda dapat dengan mudah menekannya di ASP.NET/MVC, layanan WebAPI atau WCF kembali untuk menyegarkan data.

Aplikasi yang dihasilkan sangat bagus, dan dapat didistribusikan di pasar Apple dan Android. Sudah ada banyak aplikasi di pasar-pasar yang dibangun dengan Phone Gap Build dan produk serupa lainnya, dan 99% orang (termasuk sebagian besar pengembang) tidak dapat membedakannya.

Jelas Anda tidak akan mencoba untuk membangun Angry Birds dengan cara ini (meskipun, dengan Canvas saya kira Anda mungkin mencoba), ini bekerja sangat baik dengan jenis aplikasi yang Anda bicarakan.

Jangan mengambil kata saya untuk itu. PhoneGap telah melakukan putaran di sirkuit PodCast, setelah baru-baru ini berada di Hanselminutes , DotNetRocks , dan Tablet Show . Juga, saya menulis tentang itu di posting blog baru-baru ini .


+1 Saya pikir ini adalah kompromi terbaik untuk menulis aplikasi tablet asli.
Eric King

Saya mungkin hanya mencoba ini untuk mendapatkan satu atau dua aplikasi ...
SoftwareSavant

13

lihat informasi produk dan buat pesanan

Kedengarannya seperti hal-hal baik dalam kemampuan HTML 5 (dan teknologi terkait biasanya disebutkan dalam napas yang sama). Tulis aplikasi Web yang kaya, dan Anda segera mendukung perangkat apa pun dengan browser .


2
Dari sudut pandang teknis, Anda benar, tetapi menurut pengalaman saya, orang yang mau membeli tablet mengharapkan sesuatu yang lebih berkilau daripada aplikasi web.
Treb

3
@ Treb - Jakob Nielsen memiliki beberapa pemikiran menarik tentang topik ini: useit.com/alertbox/mobile-sites-apps.html
jfrankcarr

2
Banyak tablet memungkinkan Anda untuk "menginstal" aplikasi web sehingga tampaknya berfungsi seperti aplikasi. Jadi saya tidak akan menghitungnya karena HTML5 tidak tampak seperti aplikasi. Ini sepertinya pilihan terbaik bagi saya.
RationalGeek

3
Juga ... ini tidak menutup kemungkinan memiliki dua bagian: Aplikasi Web dan aplikasi Asli. HTML5 adalah opsi selimut ... setelah dibangun dan beroperasi, Anda dapat membuat aplikasi Android / Apple / Metro / Blackberry opsional jika bisnis memilihnya. Banyak situs memberi Anda opsi memasang aplikasi untuk situs mereka.
WernerCD

2
@ Treb - Dimungkinkan untuk membuat aplikasi web yang cukup mengkilap. Setidaknya saya akan melihat persyaratan terkait kilau mereka.
psr

4

Saya akan merekomendasikan mengembangkannya sebagai aplikasi web MVC. Ini akan memungkinkan Anda untuk menjalankannya di sebagian besar perangkat apa pun dari desktop ke smartphone asalkan Anda mendesainnya dengan baik. HTML5 mungkin berfungsi tetapi itu akan tergantung pada jenis perangkat / browser Anda harus mendukung. Akan lebih baik jika Anda bisa menggunakannya. Pastikan bahwa Anda merancangnya di mana Anda bisa menyesuaikan bagian itu menjadi backend WCF ke aplikasi Metro di masa depan.


3

Jika Anda ingin memanfaatkan pengetahuan .NET yang ada, Anda harus menggunakan pendekatan SOA, dan menempatkan sebanyak mungkin fungsionalitas ke dalam layanan web (SOAP atau REST, pilih mana yang lebih cocok untuk Anda). Dengan begitu Anda hanya memerlukan aplikasi klien kecil di perangkat, yang hanya akan memanggil fungsionalitas layanan web dan menampilkan hasilnya. Ini seharusnya lebih mudah dikembangkan daripada klien yang menerapkan logika bisnis, tidak peduli klien mana yang Anda pilih.

Ini juga memungkinkan untuk menambahkan dukungan untuk perangkat yang berbeda di kemudian hari, yang Anda butuhkan hanyalah aplikasi klien kecil untuk perangkat baru.

Untuk memilih perangkat, saya melihat dua kriteria:

  1. Pilih satu yang disukai pelanggan Anda saat ini (jika mereka meminta aplikasi tablet, mereka akan memikirkannya)
  2. Pilih salah satu yang kemungkinan besar akan diterima oleh pelanggan lain juga. Ini bisa jadi iPad, atau mungkin Kindle Fire, karena orang sudah melihatnya.

Bagaimanapun, jangan menunggu perangkat yang belum ada di pasaran. Itu akan mengesampingkan pilihan Anda 2 (Windows 8 pada tablet ARM).


Pada pengumuman hari ini, Microsoft Surface, perangkat mungkin segera di pasar.
Mamta D

0

Aplikasi Windows apa pun berarti Anda terikat dengan MS. Juga, Silverlight dan iOS / IE 10 tidak cocok bersama. Gunakan HTML 5 dan JavaScript dengan Layanan Web dan / atau JQuery. Alat pihak ketiga seperti Telerik-Kendo UI harus membuat GUI Anda cukup keren untuk Aplikasi LOB. Dot Net hanya bisa bernilai di sisi server.


-1

Komentar terakhir itu mengatakan itu semua benar-benar: 'Dot Net hanya bisa bernilai di sisi server' - mungkin Microsoft seharusnya menyebutnya. Tidak? Atau .WindowsOnly?

Anda bahkan tidak bisa menulis aplikasi sisi klien Windows RT di .Net.

Memang benar bahwa untuk bermain di permainan lintas platform, logika bisnis Anda dan layanan data yang ditulis dalam .Net, harus hidup di server windows dan membuka API yang ramah Web. ASP.Net Web API terbaru hampir menjadi kekuatan industri pada bulan April 2013. Ini akan memungkinkan Anda untuk mengekspos objek .Net Anda sebagai JSON sehingga aplikasi sisi klien JQuery / JS dapat diintegrasikan dengan mudah.

Di sisi klien, Anda tidak dapat menggunakan .Net. Anda harus menulis semua kode UI dalam HTML / CSS / JQuery dan logika Anda menggunakan JS dengan mungkin Knockout untuk pengikatan yang berorientasi data.

Bagi kami. Pengembang bersih, cukup menggambar antarmuka pengguna kami TANPA HARUS MENULIS MARKUP adalah Nirwana mengembangkan aplikasi LOB. Siapa pun yang muncul dengan kerangka .Net klien yang berfungsi serta VS / .Net / WinForms / C # / VB.Net akan memerintah dunia - dan TIDAK - menurut saya Mono tidak ada dimanapun (tidak ada dukungan dari vendor komponen pihak ketiga) dekat VS / .Net / WinForms.


Saya harus menurunkan jawaban ini karena pernyataan salah "Anda bahkan tidak bisa menulis aplikasi sisi klien Windows RT di .Net."
Ramhound

Maaf, saya sepenuhnya tidak setuju dengan pernyataan Anda bahwa Anda dapat menulis aplikasi .Net untuk Windows RT - di mana buktinya?
TriSys

Saya akan gigit. Apa yang Anda maksud persis dengan "aplikasi sisi klien" karena saya mengambilnya memiliki sesuatu yang sangat spesifik setahun yang lalu. Karena saya berjanji kepada Anda bahwa saya telah menulis .NET 4.5.1 Windows Store/WinRTaplikasi dan menerbitkannya ke toko. Saya menggunakan C # jika Anda bertanya-tanya dan seluruh aplikasi disimpan sisi klien.
Ramhound
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.