2014-12-05 4 views
0

Я разрабатываю приложение самостоятельно, которое я хочу запустить как веб-приложение, и на iOS, Android, Windows Phone и в качестве настольного приложения.Разработка гибридных приложений - iOS, Android, Windows Phone и рабочий стол?

Самый простой способ добиться этого - разработать гибридное приложение в визуальной студии в Angular/Ionic, чтобы позаботиться о мобильных устройствах.

Для настольного приложения я собирался создать приложение C#, которое выступало в качестве контейнера для веб-элемента управления, а затем просто развернуло HTML/JS/CSS. Очевидно, что я заменил Ionic на Bootstrap для макета, но это означает, что я могу сохранить 90% кода JS между приложениями, чтобы сэкономить мне много времени.

Причина, по которой мне нужно собственное настольное приложение, заключается в том, что ему нужен доступ к WCF для связи с другими частями пакета.

Я смотрел Metro Apps, но они ужасающие, имея деловое приложение, требующее полного экрана, не будет хорошим. Я знаю, что есть варианты для «фиксирования» приложений метро, ​​но он все еще не дает всего, что мне нужно (например, чтобы свести к минимуму до лотка & WCF)

Это рабочий процесс, который вы ожидаете, или я не хватает что-то очевидное?

+0

Каковы варианты использования различных платформ? – Grav

+0

Hi Grav, вкратце, мобильное/веб-приложение должно предоставлять доступ к информации, которая передается другими пользователями, пока мы находимся вдали от нашего ПК. Настольное приложение - это единственное, что отправляет информацию, которую он получает от общения со словом addin. –

ответ

2

Почему бы не создать свое приложение как одностраничное веб-приложение для начала, используя Angular.js и Bootstrap (в конце концов, это «мобильная первая»)? Запускайте такое же приложение с небольшими изменениями на iOS, Android и Windows Phone, используя Cordova. Для Windows Desktop используйте «фрейм» WinForms/WPF и встроенный браузер Chromium (CEF Sharp или CEF glue).

+0

Удивительно, спасибо за это, я был в основном обеспокоен тем, что я делал правильный путь, но да, я собирался «создать» браузер на C#, а затем сделать соответствующие вызовы из JS на странице, используя window.external.myFunction –

+0

Спасибо за это, похоже, что я немного над чем-то сложным! –

+0

Подготовьтесь к головной боли, хотя, что кажется легким, когда вы читаете об этом, как правило, немного сложнее, когда вы начинаете внедрять ... –

0

Если вы разрабатываете корпоративную среду, вы должны быть готовы к работе с старыми версиями (менее 9) Internet Explorer, отображающими ваш WebView в настольном приложении. В зависимости от вашего использования конкретных html5 вещей это может быть проблемой.

Кроме того, ваш рабочий процесс звучит разумно, хотя мне интересно, как вы получаете доступ к своей WCF-службе на мобильных устройствах без какого-либо кода на платформе и почему этот способ не подходит для настольного приложения?

+0

Поток похож на то, что настольные версии собирают данные с помощью слов addins и наблюдателей файловой системы и т. Д., Когда один из этих методов находит что-то, что нас интересует, он говорит клиенту на рабочем столе «Эй, вы должны представить это г-ну Вебсервису». Затем API устанавливает эти события на «входящие», поэтому мобильные, планшетные и веб-клиенты могут просто получать или получать уведомления в этом почтовом ящике –

+0

О, и с точки зрения HTML я использую Ionic (для мобильных)/Bootstrap (рабочий стол), как я понимаю, версия, используемая для рендеринга, будет элементом управления, который я развертываю, а не конкретной ОС? –

+1

Я думал, что вы используете некоторую графическую среду (bootstrap в этом случае) и некоторую бизнес-логику javascript, чтобы в основном создать html-файл с некоторыми ресурсами, а затем создать собственное приложение, которое отображает html (и предоставляет некоторый дополнительный apis). Рендеринг html обычно означает использование элемента управления WebView (или WebBrowser в WPF). В Windows это означает, что установленная версия Internet Explorer отобразит страницу. Итак, да, вы развертываете элемент управления (html) и используете элемент управления (native), предоставляемый ОС для вашего родного приложения. –