Разработать приложение, чтобы работать исходно или пойти кросс-платформенные? [закрытый]

Синтаксис для изменения любой переменной среды в DevOps Azure:

Write-Host "##vso[task.setvariable variable=someVar]varValue"

Так что в вашем случае, если вы хотите «подделать» ветку источника:

$fakeBranch = "shayki"
Write-Host "##vso[task.setvariable variable=build.sourcebranch]$fakeBranch"
Write-Host "##vso[task.setvariable variable=build.sourcebranchname]$fakeBranch"

переменные перед:

enter image description here

Скрипт:

enter image description here [1113 ]

Переменные после:

enter image description here

5
задан Lebyrt 7 May 2014 в 19:18
поделиться

15 ответов

Я использовал бы QT и да, определенно нацелен Кросс-платформенный...

Основная причина не на самом деле, что Вы думаете, что это (быть кросс-платформенным отдельно), но на самом деле что путем предназначения для нескольких платформ код некоторых чертовски странных волшебных причин имеет тенденцию заканчиваться с намного лучшим качеством кода. Я видел, что это происходит бесчисленные времена в моих собственных проектах. Каждый раз, когда я добавляю новую платформу, качество увеличений кода и кода становится более чистым...

Также каждое серьезное приложение должно иметь как можно меньше "зависимостей", быть кросс-платформенным означает, что у Вас есть меньше зависимостей... ;)

Затем как "премия" Вы добираетесь до своего приложения для работы нескольких платформ...

6
ответ дан 18 December 2019 в 06:52
поделиться

Довольно часто я нахожу, что разработчики ПК пытаются извлечь выгоду из рынка Mac (некоторые делают успешно). В свою очередь, они разработка приложение в описанном выше "межплатформенной" архитектуры (Java или некоторая спокойная платформа, и т.д....) результат обычно, отвратительно выглядящее приложение с плохой поддержкой интеграции ОС и общественной обратной реакцией начинается в обзорах.

Мой совет, портируйте его. Сделайте хорошее задание, поймите свой рынок прежде, чем вывести Ваш межплатформенный продукт в Вашем маркетинговом подходе ковровой бомбы.

0
ответ дан 18 December 2019 в 06:52
поделиться

Это действительно зависит от того, кем будут Ваши пользователи. Не идите межплатформенные просто, потому что Вы можете. Должна быть реальная потребность независимо от инструмента. И тестирование собирается съесть довольно мало времени. Необходимо будет все еще полностью протестировать на обеих платформах.

Я использую REALbasic для создания большого разнообразия межплатформенных настольных приложений от единственной кодовой базы, и он работал хорошо на меня и мои клиенты.

0
ответ дан 18 December 2019 в 06:52
поделиться

Возможно заставить симпатичное приложение Java работать на Windows, Linux и Java - смотрят на SBCommander, например - и отмечают, что можно выполнить его и посмотреть на UI, даже если у Вас нет аппаратных средств, которыми это, как предполагается, управляет.

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

0
ответ дан 18 December 2019 в 06:52
поделиться

Мне везло с кросс-платформенным Java с помощью SWT. Это даст Вам хороший собственный взгляд на любую ОС, и нет большой проблем там, которые требуют любого кода JNI. С любой удачей необходимо смочь распределить ту же самую кодовую базу обеим целям, и она должна просто работать.

Однако необходимо оценить, нужна ли Вам действительно кросс-платформенная функциональность. По крайней мере это потребует, чтобы Вы протестировали уровень GUI своего приложения на каждой ОС (тестирующий разметки, презентацию, и т.д.). С крупным приложением это становится громоздким очень быстро.

В любом случае, выбирая межплатформенный язык из запуска даст Вам гибкость в будущем. Если бы необходимо было написать собственный код от запуска, то это было бы нетривиально для портирования кода на другую платформу. Это, вероятно, сопровождалось бы несколькими ошибками и также потребует порта всего тестового кода на новую платформу. Вы столкнулись бы с проблемами синхронизации с любыми новыми возможностями, исправлениями ошибок, и т.д. С Java, можно записать тесты JUnit, которые будут работать и в ОС, и в любые ошибки или новые возможности будут propogated к обеим версиям автоматически.

Это действительно зависит от Вашего определенного приложения. Если Вы ожидаете базу пользователей на обеих ОС, то это должно продиктовать Ваш выбор языка.

0
ответ дан 18 December 2019 в 06:52
поделиться

Сделать это веб-приложением? Иначе Java я предполагаю. Это зависит многих вещей, типа Вашего приложения, цель и т.д.

0
ответ дан 18 December 2019 в 06:52
поделиться

Почему Вы не рассматриваете веб-приложение.

Можно создать богатый веб-сайт UI, работающий в браузере, который работает везде и все платформы, Если Вы знакомы с Java, можно попробовать GWT за Выезд 'Weblication' демонстрационная страница GWT

0
ответ дан 18 December 2019 в 06:52
поделиться

Зависит от того, сколько времени Вы хотите провести на приложении. Самым быстрым путем является Java, иначе Вы можете создать свою модель с C++ и действительно разделяете код GUI с помощью MFC и Какао.

1
ответ дан 18 December 2019 в 06:52
поделиться

Я соглашаюсь с Вашим наблюдением о JAVA-приложениях по сравнению с исходными приложениями, хотя я уверен, что опытный программист Java мог, вероятно, заставить его работать.

Нижняя строка - то, что API программирования и для Mac и для Windows являются лучшими инструментами для использования для создания интерфейсов в их соответствующих системах. Если Вы хотите, чтобы Ваше приложение работало гладко в конкретной системе, необходимо использовать API той системы.

Если абсолютно необходимо иметь межплатформенную реализацию, рассмотреть запись всей базовой функциональности (не часть пользовательского интерфейса) для Вашей программы в библиотеке, которая может быть скомпилирована для обеих систем (C++ является очевидным выбором), и затем создайте хороший пользовательский интерфейс для каждой целевой системы, которая может выполнять вызовы к общей библиотеке.

1
ответ дан 18 December 2019 в 06:52
поделиться

Если Ваше приложение использует дизайн MVC, можно записать портативные образцовые классы с помощью C++ и собственного контроллера и просмотреть классы для каждой платформы, которую Вы хотите поддерживать. Это дает Вам лучший из обоих миров - мобильность, где это практично, и собственный интерфейс, за который поблагодарят Вас Ваши пользователи.

1
ответ дан 18 December 2019 в 06:52
поделиться

В этот день и возраст, там действительно серьезное основание написать собственный код?

Да. Языки и доступные библиотеки не позволяют превосходному программированию преуспеться. В лучшем случае они позволяют писать код, который работает хорошо через платформы, но никогда не выделяйтесь.

Выберите один и внимание на него. Внимание на ту аудиторию (Вы найдете зрителей, отличается в их вкусах и требованиях так или иначе).

После того как у Вас есть приложение, которого люди требуют с другой стороны, и непосредственно перед тем, как кто-то делает конкурента, оцените стоимость/преимущество для портирования Вашего точно настроенного и хорошо разработанного продукта.

При попытке 'служить двум ведущим устройствам то ', Вы сделаете проектные решения на основе того, что является самым легким для обеих платформ, и это не хороший процесс проектирования.

- Adam

2
ответ дан 18 December 2019 в 06:52
поделиться

Я предлагаю разработать его сначала для платформы, Вы чувствуете себя довольными в, и где можно использовать все трюки платформы; в этом случае это был бы OS X.

Позже, если Ваше приложение успешно для Mac, взгляд на портирование опций. Это - IMO, не стоящий для прикладывания усилий к портированию до точно был бы значительный интерес к приложению во-первых.

3
ответ дан 18 December 2019 в 06:52
поделиться

Кросс-платформенная разработка, в целом, немного переоценена как artform. Java является ведущей технологией здесь, но даже в этом случае, большинство программистов Java действительно не идет кросс-платформенное. Существует несколько захватывающих примеров инструментов как Vuze и LimeWire и JRipper, которые работают вполне прилично примерно где угодно, но это исключения, статистически говоря. Большинство приложений Java, особенно корпоративного разнообразия, кодируется с одной платформой в памяти, и они никогда действительно перемещаются.

Если Вы хотите пойти Mac и Windows, рассмотрите проводящее время в кодовой базе Limewire и Vuze. Оба из них работа приложений чрезвычайно хорошо на обеих платформах.

Вам определенно будут нужны две сборки. Одна сборка, вероятно, не сделает.

4
ответ дан 18 December 2019 в 06:52
поделиться

Требования, требования, требования.

Во всей серьезности, "это зависит", правильный ответ.

Действительно кросс-платформенный тяжелая работа; Работа, где Вы/Ваши пользователи знакомы, стоит чего-то. Решение проблемы эффективным способом является действительно самым высоким приоритетом.

4
ответ дан 18 December 2019 в 06:52
поделиться

По моему скромному мнению, это обсуждение должно быть ответом клиентскими потребностями.

Большую часть времени IT предоставляет решение, способом, которым решением является сборка, является только деталь для клиента.

Однако создание допускающего повторное использование кода могло быть полезным в случае, если Ваш предпочтительный вариант среды разработки был неправильным.

много других критериев могут войти во взгляды. например, если Ваше программное обеспечение для здравоохранения, можно хотеть поддерживать в течение 10 лет, затем необходимо выбрать ОС, поддерживаемую больше 10 лет (забудьте окна и Mac). и т.д.

1
ответ дан 18 December 2019 в 06:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: