Что нужно знать разработчику .net, чтобы начать разработку мобильных приложений?

Что нужно знать разработчику .net, чтобы начать разработку мобильных приложений?

Сколько существует различных операционных систем, работающих под управлением .NET?

Windows Mobile - это то же самое, что Windows CE?

Xamarin вам подойдет. Я удивлен, что об этом еще не упомянули, но это, в конце концов, очень старый вопрос.
JaKXz 06.03.2014 00:26
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
13
1
1 735
6
Перейти к ответу Данный вопрос помечен как решенный

Ответы 6

Ответ принят как подходящий

Кривая обучения

Ненавижу говорить «это зависит от обстоятельств», но это действительно так, и от нескольких факторов. Каков ваш опыт "разработки .NET"? Имейте в виду, что CF поддерживает C# и VB.NET, поэтому, если вы парень COBOL.NET, он будет круче, чем если вы парень C#. Если вы делаете в основном ASP.NET на рабочем столе, это будет круче, чем если бы вы использовали WinForms. Если вы ничего не знаете о периодически подключаемых сценариях и ничего о встроенных системах, все будет круче, чем если бы вы знали.

Переход с настольных компьютеров на мобильные устройства довольно прост, но Compact Framework содержит подмножество полной платформы, но не чистое подмножество. Он также содержит несколько вещей, которых просто нет на рабочем столе. Так что есть чему поучиться.

Однако еще важнее то, что вам часто нужно другое мышление. У вас нет файлов подкачки. У вас ограниченная память и хранилище. У вас есть сон / бодрствование. У вас меньшее разрешение, а также динамическое разрешение и изменение формата изображения. Разработчики настольных компьютеров редко думают об этом.

Операционные системы

Это более просто. Только платформы Windows CE (дополнительные пояснения см. В следующем ответе) поддерживают Compact Framework. Также есть Micro Framework, но я бы назвал его более «встроенным», чем «мобильным», поэтому вы, вероятно, не рассматриваете его (поправьте меня, если я ошибаюсь).

CE против WinMo

Это серьезная путаница для многих новичков. В отличие от XP (исключите XPe для данного обсуждения) или Vista, Windows CE является модульной ОС. Это означает, что OEM-производитель устройства может включить или исключить практически любую функцию в ОС. Это значит, что нет ни одной "Windows CE". Подумайте о Windows Mobile и о покупателе Windows CE. Они берут CE и выбирают определенное подмножество доступных функций. Затем они Добавлять добавляют к нему свои собственные части (например, оболочку WinMo, несколько API и т. д.). Это означает, что обычное устройство CE может (и часто будет) иметь то, чего нет в устройстве Windows Mobile. Это также означает, что все устройства Windows Mobile содержат элементы, которые не могут быть реализованы в обычных устройствах CE. Чтобы сделать это еще более увлекательным, WinMo OEM может добавлять даже свои собственные вещи, так что одно устройство WinMo может иметь то, чего нет на другом.

Это даже не касается различий между самими платформами WinMo (Professional, Standard, Smartphone, Phone Edition и т. д.).

Другие соответствующие вопросы SO

Вы можете посмотреть на них:

Отличные ссылки! Спасибо! Также я рад, что не только у меня проблемы с версиями ОС!

Doug L. 27.01.2009 06:20

Я думаю, что это стало доступно после того, как вы опубликовали этот ответ, но у Red5 Labs есть компонент, позволяющий устройствам Series 60 запускать приложения .Net CF на Series 60 / Symbian. Конечно, если эти приложения используют P / Invoke, State and Notifications Broker или другие функции, специфичные для Windows Mobile, они не будут работать. Учитывая, что компонент должен быть лицензированным, я бы не стал смотреть на это как на что-то, что может использовать случайный разработчик.

Joel 12.05.2009 22:00

Я только что нашел это: «Мы с сожалением сообщаем, что Red Five Labs прекратила свою деятельность с 18 января 2010 года». redfivelabs.com, значит, должна была быть проблема с профессиональными разработчиками, использующими этот компонент.

Larry Smithmier 26.01.2010 12:12

Я думаю, что кривая может немного зависеть от того, из какого мира .Net вы пришли, а также от того, в какую мобильную разработку вы хотите попасть. Например, если вы веб-разработчик и хотите создать сайт, используя элементы управления Mobile в компактной платформе .Net, это может быть не так сложно, как, скажем, веб-разработчик, пытающийся написать автономное приложение, в котором есть изменение в том, как все должно течь. Также возникает вопрос, что вы хотите называть мобильной разработкой, поскольку есть смартфоны iPhone, Blackberry, Treo и несколько других сред, которые могут в некоторой степени нести различные возможности.

Какой .Net вы имеете в виду: существуют разные номера версий, а также оригинальные и компактные различия.

Я думаю, что был еще один ответ, хорошо отвечающий на ваш последний вопрос.

Большой вопрос - как спроектировать пользовательский интерфейс. WinCE, похоже, по-прежнему предполагает работу пользователя на рабочем столе с тремя руками (слева, справа и с помощью мыши) и управляемую событиями архитектуру, которая позволяет (требует), чтобы пользователь запускал все одновременно. Это часто не очень хорошо работает с мобильным телефоном. Забудьте о раскрывающихся меню. Многопанельные окна не очень полезны. и т. д. и т. д. Необходимо отучить многие из ваших фундаментальных предположений и шаблонов проектирования.

Я думаю, что опыт разработки .NET определенно помогает. Между двумя платформами есть некоторые различия, самое большое из которых состоит в том, что Compact Framework предоставляет только подмножество .NET Framework. Это может оказаться трудным при переходе из среды рабочего стола, когда некоторые функции, с которыми вы знакомы, не реализованы на CF.

Еще несколько вещей, о которых следует помнить при разработке для устройств Windows Mobile:

  • Удовлетворение разнообразных ориентаций, размеров и разрешений экрана
  • Ограничения скорости процессора
  • Ограничения памяти / управление
  • Дизайн пользовательского интерфейса (у вас просто нет такого же экрана, как на рабочем столе)
  • Ввод данных (стилус / программная панель ввода)

Не могу ничего добавить к тому, что уже здесь, но я скажу, что вы будете удивлены во многих местах, если вы использовали только Full Framework.

  • Есть истина, ложь и отключение питания, помните об этом при написании кода, затрагивающего системные ресурсы.
  • Производительность - Боже мой, все идет медленно, в некоторых местах, вероятно, намного медленнее, чем можно было ожидать.
  • Отсутствующие кусочки и части - вам придется переписывать колесо в нескольких случаях, так как некоторые вещи не были перенесены из-за свободного места. Я уже упоминал Decimal.Round () поддерживает только банковское округление?
  • Ключи ... есть ограниченные ключи. Иногда вам может понадобиться, чтобы ключи выполняли разные действия, тогда вы вспомните, что виджеты WinForm перехватывают ключи и выполняют заранее запрограммированные действия. О нет!
  • P / Invoke. Для некоторых вещей, которые вы привыкли получать бесплатно, требуются P / Invokes.
  • GC другой. Возможно, стоит прочитать об этом, если вы хотите создать большое приложение.
  • Не все устройства одинаковы, как и компьютеры.

В дополнение к комментариям ctacka о путанице, вызванной различными версиями OC, я бы упомянул свои первоначальные трудности с огромным количеством вариантов CAB для фреймворков, SDK и особенно механизмов и клиентов SQL Server. Кажется, что варианты все время меняются, и я все еще пытаюсь во всем разобраться. Самым крутым этапом в обучении мобильной разработке было получение правильной работы среды разработки и выполнения, а также установки процессов.

Другие вопросы по теме