Сегодня авторы большинства приложений уже не могут позволить себе выпускаться под одну платформу. Early adopters сидят под маками, мейнстрим сидит под Win32, а гики и адепты open source предпочитают Linux. Каждая из этих аудиторий обладает уникальными свойствами, а поэтому важна для большинства проектов.
Данная статья задумывалась как открытая попытка разобраться, на чем стоит писать мультиплатформенное desktop-приложение. Приглашаю высказать свое мнение людей с опытом создания таких приложений.
Изначально определим критерии, по которым будем оценивать различные платформы. В первую очередь — это удобство пользователя. Уверен, что вы замечали общие черты у приложений, написанных под разные платформы. Во вторую — это интересы проекта. Моя задача — построить успешный бизнес, а не играться с различными инструментами.
Обозначим рамки исследования. Мое приложение — небольшая утилита для пользователя-«чайника», которая качает файлы из интернета: минимум GUI, небольшой набор функциональности, использование внешних С++ библиотек.
Ты НЕ ПРОГРАММИСТ без этих ПРОГРАММ!!1
Ну что, начнем. Какие есть варианты? Я рассмотрю Java, C#, C++, Python. Буду рад, если вы расскажите о других альтернативах.
Java
Лучшие IDE для разработки на C#
С# — один из наиболее популярных языков программирования в мире, хотя его начали разрабатывать еще в прошлом веке. Он задумывался как альтернатива Java, но нашел собственный, вполне успешный путь. C# преподают в большинстве технологических вузов мира. Windows — все еще самая популярная компьютерная ОС, так что выбор удобной среды разработки — актуальный вопрос. Попробуем на него ответить.
Visual Studio
Описание: самая «правильная» среда разработки. С Visual Studio многие начинают знакомиться с языком и не расстаются с ней на протяжении всей карьеры программиста.
- Официальная. Так как и язык, и среда разработки созданы в Microsoft, логично предположить, что ничего более функционального вы не найдете во всем Интернете. В некоторых случаях без Visual Studio не обойтись — например, при использовании технологий UWP и WPF.
- Бесплатная. Версии «Community edition» для рядового пользователя будет достаточно. Тем более, теперь можно подключать плагины (в отличие от старой версии Express).
- Функциональная. В Visual Studio множество качественных плагинов. С их помощью можно расширить функциональность приложения и подключить другие языки.
- Поддерживает платформы .NET. Visual Studio имеет широкие возможности по разработке приложений под Windows, в том числе в .NET-сегменте.
- Облачные хранилища. Зарегистрируйтесь в сообществе Visual Studio — и получите доступ к облачному хранилищу, где сможете располагать файлы проектов.
- Корпоративность. Технология бэклога позволяет членам команды взаимодействовать при гибкой методологии разработки.
- Баги при переходах с триал-версии. При переходе на платную версию могут теряться настройки и нарушаться работа корпоративного сервера.
- Сложность. Самостоятельно освоить Visual Studio новичку будет непросто — слишком много доступных функций, спрятанных в подразделах меню.
Project Rider
Что пишут на языке программирования C#
Описание: среда от JetBrains для работы с платформой .NET. Выпущена в прошлом году, но уже приобрела много поклонников.
- ReSharper. Это плагин, изначально разработанный для повышения производительности Visual Studio. Теперь на его основе выпущена IDE.
- Поддержка полного цикла. Фирменная черта продуктов JetBrains, воплощенная и в Project Rider. С ним вы сможете организовать весь цикл создания ПО: от идеи до поддержки.
- Функциональность. Project Rider позволяет подключить MSBuild и XBuild, работать с CLI-проектами и организовать отладку приложений .NET and Mono. Множество опций для быстрого создания кода улучшает производительность.
- Multiple runtime. Поддержка нескольких запущенных программ.
- Кроссплатформенность. Project Rider работает с Windows, Linux и MacOS.
- Контроль версий. Встроенный инструмент позволяет напрямую организовать работу с Git, Mercurial и TFS.
- Молодость. Часть функциональности еще в разработке, не все стартовые баги исправлены.
- Стоимость. Самая дешевая версия Project Rider обойдется в 139 долларов за первый год использования. Но есть триал-версия и специальные предложения для студентов и непрофильных организаций.
Eclipse
Описание: одна из самых популярных мультиязычных сред. Ориентирована преимущественно на разработку Java-приложений, но полезна и для кодов на C#.
- Множество плагинов. У Eclipse едва ли не самое большое число надстроек — «на все случаи жизни».
- Активное сообщество. Помогает быстрее освоить среду разработки, выпускает новые плагины.
- Отличные компилятор и отладчик. Первый работает на порядок быстрее, чем у конкурентов, второй — показывает потоки, пересечения, позволяет гибко управлять ходом отладки.
- Кастомизация. Благодаря плагинам и настройкам можно полностью персонализировать Eclipse.
- Бесплатность. Это open-source проект, абсолютно бесплатный.
- Высокая функциональность. Благодаря разработчикам-официалам и членам сообщества с помощью Eclipse можно провести любой C#-продукт по полному циклу разработки.
- Сложность. Как и любой функциональный продукт, Eclipse может показаться новичку слишком сложным.
- Нет гарантий надежности. Так как плагины создаются сообществом, за их качество отвечает только разработчик. Кроме того, сами создатели Eclipse с каждой новой версией плодят баги, не успевая порой исправлять старые.
Visual Studio Code
Описание: кроссплатформенный редактор кода, который при помощи плагинов можно «подтянуть» к статусу IDE.
- Кроссплатформенность. Работает на MacOS, Ubuntu и Windows. Пока недоступен на Android и iOS.
- Бесплатность. Простой open-source редактор и плагины — платить не надо.
- Легковесность. Потребуется совсем мало ресурсов, чтобы приступить к работе с минималистичным VSC.
- Низкая функциональность. Несмотря на поддержку .NET-платформы, VCS неудобен для сложных проектов.
- Сомнительная надежность. Многие надстройки имеют низкое качество сборки и не всегда выполняют даже основные функции.
MonoDevelop
Описание: свободная среда разработки от Xamarin для создания приложений на множестве языков, в том числе на C#.
- Мультиплатформенность. Поддерживает Linux, Windows и Mac OS.
- Кастомизация. На рабочем столе можно расположить функции и окна по своему усмотрению.
- Unity 3D. Полноценная поддержка популярной платформы для разработки игр.
- Бесплатность.
- Ограниченная функциональность. У MonoDevelop есть собственный отладчик и инструменты для работы с кодом. Но в части поддержки разных платформ и проектов — это пока сырая IDE.
Code::Blocks
Описание: среда разработки, известная простой и удобством в настройке и использовании.
- Бесплатность. Полноценный open-source проект.
- Простота. В отличие от Visual Studio, среда Code::Blocks понятна новичку, знающему один из поддерживаемых языков.
- Кроссплатформенность. IDE запускается на любой десктопной ОС.
- Выбор компилятора. Code::Blocks ограничена в функциональности, но эта возможность — несомненный плюс.
- Легковесность.
- Недостаточная функциональность. Для создания комплексных приложений Code::Blocks категорически не подходит.
- Нестабильность. Приходится сталкиваться с нелепыми ошибками в отладке и некорректной работой всей среды.
Заключение
Список IDE, получаемых даже при подключении сторонних плагинов, мал относительно Java или PHP. Но это тот случай, когда малое количество компенсируется качеством: в числе предложенных сред каждый сможет найти подходящую — по планируемым задачам и потребляемым ресурсам.
Источник: gb.ru
Приложения для написания программ
Умение создать собственное приложение часто облегчает жизнь, не нужно искать программистов. Написать можно код для игры, скрипт сайта, программу управления роботами, анализатор текста или финансовой информации.
Это материал про услугу «Разработка программного обеспечения». Узнать цену
Популярные варианты
Программы для написания создаются в двух вариантах – требующие глубокого знания языков программирования и доступные неопытным пользователям. Доступен выбор из платных и бесплатных версий.
VisualStudio
- функциональность;
- мощный отладчик кода;
- поддержка сплит-окон XML и CSS, позволяющих видеть результат вживую;
- обработка графических элементов WindowsForms.
IntelliJ IDEA
Позволяет создавать коммерческие, мобильные, веб-приложения. Анализирует код, в автоматическом режиме предлагает дополнения. Регулярно обновляется создателем. Языки программирования — JS, Java, HTML, Groovy, CSS, XML, ActionScript, Scala, CoffeeScript, Perl5, Erlang, Fantom, Lua, OCaml, GLSL, Haskell. Для каждого предусмотрены ответы на вопросы пользователя. ОС — Windows, Android, iOS.
Доступно тестирование разработанного ПО. Работает по клиентской схеме с серверами Virgo, Geronimo и другими, программа размещена на сервере, работа ведется с компьютера пользователя. Пишет программы для управления базами данных (СУБД), работает с SQL-файлами. Плюсы:
- функционал для написания софта для Android;
- дизайнер интерфейса для Swing;
- взаимодействует с несколькими системами управления версиями.
HiAsm
Софт для разработки игр на принципе объектно-ориентированного программирования для новичков с обучением и широким набором функций. Языки программирования отлично знать не обязательно, предусмотрена опция подсказок. Построена по модульному принципу, для создания программы в нужном порядке соединяются кубики-компоненты.
Графические элементы и звуки встроены дополнительно, расширение функций приложения доступно за счет подключения модулей из дополнительных библиотек. ПО создается под большинство операционных систем. Онлайн-версия ПО позволяет собирать софт в браузере, заходя с различных устройств. Достоинства:
- мультиплатформенность;
- репост скринов рабочего процесса в социальные сети для облегчения командной работы;
- браузерные игры создаются в 2D и 3D;
- доступна совместная работа с проектом нескольких разработчиков;
- продвинутая визуальная среда;
- рисование GUI-элементов с широкой палитрой цветов и образов.
GameEditor
Простой софт создания игрового и коммерческого софта. ПО создается под Windows, Linux, Handheld PC, Pocket PC/Windows Mobile. Не самостоятелен, требует добавочных модулей — библиотека JavaRuntimeEnvironment нужна для запуска готовой игры на компьютере. Принцип работы – выбор из перечня готовых элементов, их поведение задается по списку действий и зависит от наступления определенных событий.
Богатый выбор графики и анимации. Для достижения максимального эффекта добавляются визуальные блоки и музыка из OggVorbis и других ресурсов. Существенный минус для новичка – англоязычный интерфейс. Бесплатная версия дает минимальные возможности, продвинутая стоит 99 долларов. Плюсы:
- бесплатная версия;
- простой интерфейс;
- закачка файлов в популярных форматах для добавления графики и звука;
- проект может обрабатываться на разных устройствах.
Arduino IDE
Популярное решение для разработки софта для управления устройствами «Умного дома», роботами, микроконтроллерами, светодиодами, электромоторами. Применяется в робототехнике. Для ПО создаются собственные утилиты – скетчи, их можно искать и экспортировать из Интернет-библиотек. Удобный модуль загрузки помогает менять функционал. Признанные разработчиками преимущества:
- широкая область применения, практическое отсутствие решений-конкурентов;
- помощь новичку в изучении С++;
- быстрое расширение возможностей путем загрузки новых скетчей;
- Max/MSP, Macromedia Flash, SuperCollider, Pure Data;
- форумы специалистов и базы данных предоставят новичку требуемую справочную информацию.
Как выбрать
Множество доступных вариантов иногда ставят начинающего программиста в тупик. Выбирая приложение для написания программ, нужно обратить внимание на:
- целевое назначение – для игр или сложных кодов;
- необходимость знания языков программирования;
- количество языков;
- присутствие русскоязычного интерфейса;
- наличие анализатора кода и авторедактора;
- качество графического оснащения;
- потребность в дополнительных библиотеках;
- опция расширения возможностей путем подсоединения дополнительных модулей;
- возможность работы с серверами приложений;
- стоимость продукта;
- частоту обновлений.
Стоит протестировать ряд бесплатных решений, чтобы выбрать оптимальный вариант программы. После этого стоит принять решение о приобретении платной продвинутой версии.
Источник: cetera.ru