.NET 개발자로 업무용 태블릿 앱을 개발하는 방법 [닫은]


9

우리 회사는 .NET 개발 경험이 많으며 ERP 시스템의 제품 중 하나입니다. 최근 고객이 해당 시스템에 태블릿 인터페이스를 제공 할 수 있는지, 즉 고객이 제품 정보를보고 태블릿에서 주문을 작성할 수있는 소프트웨어를 제공 할 수 있는지 문의했습니다.

물론 Objective-C를 배우고, Mac 개발 워크 스테이션을 구입하고, Apple에 수수료를 지불하는 등이 하나의 프로젝트에 많은 시간과 돈을 투자한다는 아이디어에 감격하지 않습니다 ( 앱을 판매 할 수도 있음) 이후 몇 명의 추가 고객에게 제공되지만 ERP 시스템의 기존 고객에게만 유용하기 때문에 시장 규모는 매우 작습니다.

그럼 어떻게해야합니까? 내가 볼 수있는 한 다음 옵션이 있습니다.

  • "WPF ( plain old Windows application) "를 작성 하고 Samsung Slate 또는 Acer Iconia와 같은 Windows 7 태블릿에서 실행하십시오.

    단점 : "실제"태블릿과 비교하여 실행 시간이 짧은 무겁고 비싼 장치.

  • Windows 8 ARM 기반 태블릿을 기다린 후 Metro (WinRT) 앱을 작성하십시오.

    단점 : 1 년 이상 기다립니다. Windows 8 ARM이 앱 스토어를 거치지 않고 사용자 지정 B2B 앱 설치를 지원하는지 여부는 확실하지 않습니다.

  • Android 용 mono를 사용 하고 Android 용 .NET 앱을 작성하십시오.

    단점 : 또 다른 UI 라이브러리 (WPF 및 Silverlight와 다름); 일부 제공 업체는 앱의 사이드로드를 허용하지 않습니다.

지금까지 옵션 1과 3이 가장 현실적인 것으로 보입니다. 명백한 단점이나 장점이 빠졌습니까? 아직 고려하지 않은 다른 옵션이 있습니까? 비슷한 상황에 있었으며 (성공적으로) 하나의 특정 옵션을 선택 했습니까?


2
@Downvoter : 질문을 개선하기위한 피드백에 감사드립니다 ...
Heinzi

11
당신은 두 가지 다른 옵션을 잊어 버렸습니다 : 1.) Java를 배우고 Android 앱을 작성하거나 2.) 아니요
Jetti

.NET 개발자를위한 모바일 개발에 대한 조언은 hanselminutes.com/305/…를 참조하십시오 .
Treb

1
@FrustratedWithFormsDesigner 내 답변보기
ediblecode

1
@ Nupul : 아니요, 대답이 없습니다. (Objective-C에서 기본 iPad 앱 작성) 옵션이 하나만 제외되었습니다. 경제적으로 실현 가능한 다른 옵션이 여전히 있으므로 내 질문은 여기에 있습니다. ;-)
Heinzi

답변:


10

JQuery Mobile + 폰 갭 빌드 .

이것은 기본적으로 이전에 언급 한 것처럼 "HTML5 및 JavaScript를 사용하여 앱을 빌드하는 것"이라고 말하지만 중요한 왜곡이 있습니다.

Nitobi의 Phone Gap Build 서비스 (현재 Adobe 소유)를 통해 개발자는 HTML5 / JavaScript 앱을 장치에 로컬로 배포 할 수있는 "네이티브"앱 (실제 하이브리드 앱)으로 변환 할 수 있습니다. 기본적으로 후드에서 일어나는 일은 기본 브라우저를 호출하고 file : // URL에서 사이트를로드하는 작은 기본 바이너리를 패키징하는 것입니다.

특정 자바 스크립트 프레임 워크를 타겟팅 할 필요는 없습니다. 모바일 웹 앱에서 실제로 작동하는 것과 동일한 HTML 및 자바 스크립트가 제대로 작동합니다.

오프라인 지원도 어렵지 않습니다. 많은 모바일 장치에서 지원되는 로컬 브라우저 스토리지를 사용하면 이런 방식으로 강력한 오프라인 앱을 구축 할 수 있습니다. 앱이 오프라인에서 잘 작동하도록 CDN을 사용하는 대신 외부 종속성을 로컬로 패키지하는 것이 가장 좋습니다.

KnockoutJSBackboneJS 와 같은 프레임 워크 는 잘 설계된 JavaScript 앱을 빌드하는 데 매우 유용하며 Phone Gap의 빌드 서비스와 잘 작동합니다.

장치가 온라인 상태이면 데이터를 새로 고치기 위해 ASP.NET/MVC, WebAPI 또는 WCF 서비스 백엔드에 쉽게 도달 할 수 있습니다.

결과 앱은 정말 훌륭하며 Apple 및 Android 시장에 배포 할 수 있습니다. Phone Gap Build 및 기타 유사한 제품으로 구축 된 해당 시장에는 이미 많은 앱이 있으며 99 %의 사람들 (대부분의 개발자 포함)은 그 차이를 알 수 없습니다.

분명히 당신은 화가 난 새를 이런 식으로 만들려고하지 않을 것입니다 (캔버스로 시도 할 수도 있지만). 당신이 이야기하는 앱 종류와 훌륭하게 작동합니다.

내 말을 받아들이지 마 PhoneGap은 최근 Hanselminutes , DotNetRocksTablet Show 에서 PodCast 회로를 진행하고 있습니다. 또한 최근 블로그 게시물 에 이에 대해 썼습니다 .


+1 이것이 기본 태블릿 앱을 작성하는 데있어 최고의 타협이라고 생각합니다.
Eric King

난 그냥 응용 프로그램 또는 두 개를 지상에서 얻기 위해 시도 할 수 있습니다 ...
SoftwareSavant

13

제품 정보를보고 주문을 작성하십시오.

HTML 5의 기능 (및 일반적으로 동일한 호흡에서 언급 된 관련 기술) 내에서도 잘 들립니다. 풍부한 웹 응용 프로그램을 작성하면 브라우저가있는 모든 장치 를 즉시 지원할 있습니다.


2
기술적 인 관점에서 당신은 옳지 만 내 경험상 태블릿을 기꺼이 구매하려는 사람들은 웹 앱보다 더 빛나는 것을 기대합니다.
Treb

3
@Treb-Jakob Nielsen은이 주제에 대해 몇 가지 흥미로운 생각을합니다. useit.com/alertbox/mobile-sites-apps.html
jfrankcarr

2
많은 태블릿에서 웹 응용 프로그램을 "설치"하여 응용 프로그램처럼 작동하는 것처럼 보입니다. HTML5는 앱처럼 보이지 않기 때문에 이것을 계산하지 않습니다. 이것은 나에게 가장 좋은 옵션 인 것 같습니다.
RationalGeek

3
또한 ... 이것은 Web App과 Native app의 두 부분을 배제하지 않습니다. HTML5는 블랭킷 옵션입니다 ... 일단 구축되고 작동되면 비즈니스에서 선택하는 경우 선택적 Android / Apple / Metro / Blackberry 앱을 만들 수 있습니다. 많은 사이트에서 사이트에 앱을 설치할 수있는 옵션을 제공합니다.
WernerCD

2
@Treb-꽤 반짝이는 웹 앱을 만들 수 있습니다. 나는 그들의 광택 관련 요구 사항을 적어도 조사 할 것입니다.
psr

4

MVC 웹 앱으로 개발하는 것이 좋습니다. 이를 통해 데스크탑에서 스마트 폰에 이르기까지 대부분의 모든 장치에서 잘 설계되어 실행할 수 있습니다. HTML5는 작동 할 수 있지만 지원해야하는 장치 / 브라우저 유형에 따라 다릅니다. 그것을 사용하여 벗어날 수 있다면 좋을 것입니다. 나중에 Metro 앱에 대한 WCF 백엔드가되도록 일부를 조정할 수있는 위치에 설계해야합니다.


3

기존 .NET 지식을 활용하려면 SOA 접근 방식을 사용하여 가능한 한 많은 기능을 웹 서비스 (SOAP 또는 REST 중 더 적합한 것을 선택)에 배치해야합니다. 이렇게하면 웹 서비스 기능 만 호출하고 결과를 표시하는 작은 클라이언트 앱만 장치에 필요합니다. 어떤 클라이언트를 선택하든 비즈니스 로직을 구현하는 완전한 클라이언트보다 개발이 훨씬 쉬워야합니다.

또한 나중에 다른 장치에 대한 지원을 추가 할 수 있으며 새 장치를위한 소규모 클라이언트 앱만 있으면됩니다.

장치를 선택하기 위해 두 가지 기준이 있습니다.

  1. 현재 고객이 선호하는 제품 선택
  2. 다른 고객들도 받아 들일 가능성이 가장 높은 것을 선택하십시오. 사람들은 이미 아이 패드를 보았 기 때문에 아이 패드 나 킨들 파이어 일 수있다.

어쨌든 아직 시장에 나와 있지 않은 장치를 기다리지 마십시오. 옵션 2 (ARM 태블릿의 Windows 8)는 제외됩니다.


오늘 발표 된 마이크로 소프트 서피스 (Microsoft Surface)에 따르면이 디바이스는 곧 시장에 출시 될 것이다.
Mamta D

0

모든 Windows 응용 프로그램은 귀하가 MS에 묶여 있음을 의미합니다. 또한 Silverlight와 iOS / IE 10은 잘 어울리지 않습니다. 웹 서비스 및 / 또는 JQuery를 사용하여 HTML 5 및 JavaScript로 이동하십시오. Telerik-Kendo UI 와 같은 타사 도구 는 GUI를 LOB 앱에 충분하게 시원하게 만듭니다. Dot Net은 서버 측에서만 가치가 있습니다.


-1

마지막 의견은 'Dot Net은 서버 측에서만 가치가있을 수 있습니다'라고 말합니다. 아마도 Microsoft는 그것을 불렀을 것입니다. 또는 .WindowsOnly?

.Net에서 Windows RT 클라이언트 측 앱을 작성할 수도 없습니다.

크로스 플랫폼 게임에서 플레이하려면 .Net으로 작성된 비즈니스 논리 및 데이터 서비스가 Windows 서버에 있어야하며 웹 친화적 API를 공개해야합니다. 최신 ASP.Net Web API는 2013 년 4 월에 거의 산업 수준에 도달했습니다.이를 통해 .Net 객체를 JSON으로 노출하여 JQuery / JS 클라이언트 측 앱을 쉽게 통합 할 수 있습니다.

클라이언트 측에서는 .Net을 사용할 수 없습니다. 모든 UI 코드를 HTML / CSS / JQuery로 작성하고 데이터 지향 바인딩을 위해 Knockout이있는 JS를 사용하는 논리를 작성해야합니다.

.Net 개발자에게는 마크 업을 작성하지 않고 사용자 인터페이스를 그리기 만하면 LOB 앱을 개발할 수 있습니다. VS / .Net / WinForms / C # / VB.Net뿐만 아니라 작동하는 클라이언트 측 .Net 프레임 워크를 가진 사람은 세계를 지배 할 것이며 NO는 제 생각에 모노가 없습니다 (타사 구성 요소 공급 업체의 지원 없음) VS / .Net / WinForms 근처.


".Net에서 Windows RT 클라이언트 쪽 앱을 작성할 수도 없습니다"라는 잘못된 진술로 인해이 답변을 다운 보트해야합니다.
Ramhound

죄송합니다. Windows RT 용 .Net 응용 프로그램을 작성할 수 있다는 귀하의 주장에 전적으로 동의하지 않습니다. 증거는 어디에 있습니까?
TriSys

물린거야 "클라이언트 측 앱"이란 정확히 1 년 전에 매우 구체적인 내용을 가지고 있기 때문에 무엇을 의미합니까? 약속 했으므로 .NET 4.5.1 Windows Store/WinRT신청서를 작성 하여 상점에 게시했습니다. 궁금한 점이 있고 전체 응용 프로그램이 클라이언트쪽에 저장된 경우 C #을 사용했습니다.
Ramhound
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.