Разница между использованием C # и C или C ++ на Windows Mobile - PullRequest
2 голосов
/ 21 августа 2009

Я новичок в разработке для Windows Mobile. У меня есть определенные сомнения, связанные с разработкой Windows Mobile, которые заключаются в следующем.

1) В чем основное различие между C # и C (C ++) в том, что касается выбора языка для разработки. (не синтаксически).

2) Какой язык выбрать для развития и почему?

3) Если я выберу C # как мобильную разработку, могу ли я получить доступ ко всем API для C # на рабочий стол.

Ответы [ 8 ]

2 голосов
/ 21 августа 2009

Ваш пробег может варьироваться, но несколько лет назад мы пытались разработать приложение C # для Windows Mobile, и производительность была невероятно плохой. Я говорю "у меня 10 секунд, чтобы мое диалоговое окно появилось" плохо. Я уверен, что это стало лучше, но основная проблема остается: это устройства с более жесткими ограничениями ресурсов, чем настольный ПК, и удар по производительности, который вы получаете с .NET, с большей вероятностью повлияет на вас. Так что переходите с C #, если ваше приложение никоим образом не чувствительно к производительности, но если у вас есть какие-либо проблемы с производительностью, по моему опыту, C # / .NET не будет сокращать его на Windows Mobile. C ++ - следующий наиболее разумный выбор.

2 голосов
/ 21 августа 2009

Помимо синтаксиса, основное отличие состоит в том, что C # является управляемым, а C ++ - нет (если вы не используете управляемый c ++?)

Они оба ОО-языки (не С). C ++ позволяет вам управлять собственной памятью (которая может быть хорошей или плохой), в то время как C # является управляемым кодом, поэтому сборка мусора в основном выполняется для вас во время выполнения. Если вы используете C #, вы сможете получить доступ ко всем другим управляемым сборкам, ориентированным на CLR.

1 голос
/ 24 августа 2009

1) Приложения, написанные на нативном коде, будут работать быстрее. Кроме того, объем памяти в собственных приложениях меньше.

2) Это зависит от приложения, которое вы пишете. Если он не требует максимальной производительности и не требует большой нативной функциональности, тогда необходимо управлять кодом. Если вам нужна большая гибкость, переходите на нативный.

3) Нет. .Net Compact Framework имеет подмножество API для настольных компьютеров.

1 голос
/ 21 августа 2009

1) Слишком неопределенно, чтобы ответить

2) C #, потому что для него есть хорошо поддерживаемая среда (.NET Compact Edition).

3) Нет. Не все API доступны в Compact Edition .NET.

0 голосов
/ 14 февраля 2018
  1. C # часто рекомендуется при разработке простых настольных или веб-приложений, в то время как C ++, который напрямую связан с оборудованием, используется для приложений, требующих более высокой эффективности.

  2. Я бы сказал, C #. Учитывая, что вы новичок в разработке Windows Mobile, вам будет проще реализовать C #. Кроме того, C # разработан Windows, поэтому он предназначен специально для приложений Windows.

  3. Нет. у вас будет только подмножество библиотек для настольных API.

0 голосов
/ 27 августа 2009

В прошлом мне советовали избегать .net framework при разработке для WM, за исключением случаев, когда это абсолютно необходимо.

это, по-видимому, связано с тем, что .net Framework загружает довольно много DLL и, следовательно, имеет большой объем памяти (очевидно, это смягчается в определенной степени, если есть другие приложения .net, работающие с общими сборками) - что приводит к довольно низкому энергопотреблению.

также джиттинг и ведение домашнего хозяйства, которые имеют место (вне вашего контроля, в неопределенные промежутки времени и т. Д. - если вы перемещаете много памяти вокруг, это может стать проблемой) - на устройствах с низким энергопотреблением, таких как pda, это постоянное возня на заднем плане может стать заметным.

однако значительно проще и быстрее кодировать в .net.

если:

  • вы считаете «быстрые победы» более важными, чем добросовестный эффективный код или
  • вас не заботит время автономной работы или
  • ваше приложение не чувствительно к производительности или
  • вы не знаете, как кодировать на родных языках
  • вас не волнуют открытые стандарты и соответствие

затем перейдите на .net.

.net compact framework является подмножеством настольной версии .net - поэтому некоторые функции и аспекты этой платформы недоступны.

если вы только начинаете, я рекомендую .net - если вы разрабатываете коммерческое решение и т. Д., Я рекомендую использовать c / c ++.

НТН.

0 голосов
/ 21 августа 2009

Если вы разрабатываете приложение только для мобильных устройств Windows, выберите любой поддерживаемый язык .Net Compact Framework.

Вы также можете использовать C ++ (неуправляемый), но все зависит от типа мобильного приложения, которое вы разрабатываете.

...