на каком языке программирования пишут приложения для windows
На чем писать мультиплатформенное desktop-приложение? Взгляд менеджера
Сегодня авторы большинства приложений уже не могут позволить себе выпускаться под одну платформу. Early adopters сидят под маками, мейнстрим сидит под Win32, а гики и адепты open source предпочитают Linux. Каждая из этих аудиторий обладает уникальными свойствами, а поэтому важна для большинства проектов.
Данная статья задумывалась как открытая попытка разобраться, на чем стоит писать мультиплатформенное desktop-приложение. Приглашаю высказать свое мнение людей с опытом создания таких приложений.
Изначально определим критерии, по которым будем оценивать различные платформы. В первую очередь — это удобство пользователя. Уверен, что вы замечали общие черты у приложений, написанных под разные платформы. Во вторую — это интересы проекта. Моя задача — построить успешный бизнес, а не играться с различными инструментами.
Обозначим рамки исследования. Мое приложение — небольшая утилита для пользователя-«чайника», которая качает файлы из интернета: минимум GUI, небольшой набор функциональности, использование внешних С++ библиотек.
Ну что, начнем. Какие есть варианты? Я рассмотрю Java, C#, C++, Python. Буду рад, если вы расскажите о других альтернативах.
Данный язык/среда изначально задумывались как нечто мультиплатформенное. На Java написано большое количество приложений, крупные проекты вроде Eclipse используют именно этот фреймворк.
Все приложения, которыми мне доводилось пользоваться, не использовали «родной» интерфейс Win32. Не знаю, чем руководствовались разработчики, но с точки зрения конечного пользователя это выглядит очень не симпатично.
Примеры приложений: Eclipse, ZDE, клиент для Gnutella Limewire.
Плюсы: мультиплатформенность, большое количество кадров, развитость фреймворка.
Минусы: необходимость установки фреймворка, кривость GUI, низкая производительность.
Аналогично с Java, приложения на C# имеют большой минус — необходимость устанавливать фреймворк. Я сам отказался от установки несколько приложений, которые требовали этого фреймворка. Менее продвинутые пользователи будут ещё более требовательными.
В остальном — сплошные плюсы, на мой взгляд.
Примеры приложений😕
Плюсы: мультиплатформенность, большое количество кадров, хорошая производительность, развитость фреймворка.
Минусы: необходимость установки фреймворка.
Старичок дотянул до наших дней и замечательно себя чувствует. Много приложений под платформы Linux и Windows до сих пор пишутся на этом языке.
Программы, написанные на C++, являются примером для других по размеру дистрибутива и экономному использованию системных ресурсов (процессор, память). Тем не менее у разработчиков есть масса претензий к С++. По моему мнению, язык является «устаревшим» и его популярность в дальнейшем будет снижаться, что подтверждается индексом TIOBE.
С точки зрения развития проекта, по сравнению с динамическими интерпретируемыми языками (вроде Ruby и Python), разработка на данном языке может иметь менее высокую скорость и более высокие издержки изменения проекта. Для стартапа, которому не столь важна производительность приложения, это может стать существенным минусом.
Примеры: Firefox.
Плюсы: отличная производительность, большое количество кадров, большое количество библиотек.
Минусы: невысокая скорость разработки.
Python
Взглянуть на Python в качестве платформы для desktop-приложений меня заставила программа MusicBrainz Picard. Несмотря на свою скриптовую сущность, Python легко собирается в один exe-файл, не требуя от пользователя установки дополнительных компонентов.
В случае разработки небольшого приложения, интерпретируемые языки вроде Python будут большим плюсом. Легкость написания и высокая скорость изменения приложения пригодится любому стартапу.
Огромным минусом различных «модных» технологий является их низкое распространение, а значит серьезные проблемы в поиске квалифицированных кадров. Ситуация с поиском программистов итак плачевная, а если ограничиться узким языком — можно вообще никого не найти. С другой стороны, храбрость перейти на новый язык имеют наиболее прогрессивные разработчики. Может получиться так, что выбрав «перспективный» язык, мы сразу отсечем миллионы середнячков, оставив себе выбор из нескольких перспективных разработчиков.
Пример: MusicBrainz Picard, оригинальный BitTorrent.
Плюсы: высокая скорость разработки и изменений, хорошая интеграция с библиотеками на С и С++.
Минусы: мало кадров, низкая производительность.
Выводы
К сожалению, любая из вышеперечисленных платформ имеет свои плюсы и минусы, однозначного решения найти не удалось. Выбор одной из них сегодня принесет преимущества и недостатки, влияние которых на проект мы увидим только завтра.
Я пока выбираю между С++ и Python. Первый является «надежным» решением с известными недостатками. Второй является «рискованным», но интересным и перспективным. Надеюсь, ваши отзывы помогут мне сделать окончательный выбор. Какую платформу выбрали бы вы на моем месте?
PS. Я сейчас ищу программистов в этот стартап (с++/python/php), поэтому если кому интересно — присылайте свое резюме.
Все, что вам нужно для создания программ для Windows
Программирование является одним из фундаментальных аспектов нашей повседневной жизни. Программирование может помочь нам автоматизировать и упростить использование компьютера, и даже сегодня это одна из самых интересных возможностей для работы. Конечно, даже если мы изучаем программирование, знание определенного языка не очень нам помогает. Помимо управления языком, мы также должны знать, какие программы нам следует использовать для программирования в соответствии с типом программного обеспечения, которое мы собираемся создать.
Если мы думаем начать программировать и создавать программы для Windows, это все, что нам нужно для достижения нашей цели.
Знания для создания программ в Windows
Не существует волшебного языка программирования для создания программ для Windows. Из Microsoft В операционной системе мы можем выполнять практически любой язык программирования, если у нас есть соответствующий компилятор и интерпретатор.
Если мы собираемся создать более простую программу, которая не нуждается в интерфейсе, C отличный вариант. Четный C ++ если мы хотим использовать любую из графических библиотек, доступных для этого языка. Разница между C и C ++ заключается в том, что первый не является объектно-ориентированным, а также более ограниченным, чем C ++. Сегодня есть отличные проекты, написанные на этом втором языке (Chrome, Firefox, многие игры и т. д.), поэтому, не вдаваясь в визуальные языки, программировать на нем очень удобно.
Если мы хотим создать программу для Windows, но она также работает в других операционных системах, то мы должны использовать другие кроссплатформенные языки программирования. Джава, например, один из самых популярных, поскольку все, что мы делаем на этом языке, может работать без проблем в любой операционной системе. Python, с другой стороны, в последнее время очень популярен подобный язык для создания многоплатформенных программ.
Также легко найти разработки на других языках, таких как Object Pascal, Ruby или Objective-C.
Программное обеспечение, необходимое для создания программы
На самом деле, мы могли программировать без специального программного обеспечения, просто с помощью текстового редактора, такого как Блокнот. Однако в настоящее время существуют очень полные программы (IDE), которые, помимо того, что помогают нам программировать, позволяют нам компилировать код, чтобы превратить наши строки во что-то функциональное.
Код Visual Studio
Код Visual Studio текстовый редактор с множеством функций программирования Эта программа имеет большое количество плагинов, которые позволяют адаптировать ее практически к любому языку программирования, который мы хотим. Благодаря своим функциям IntelliSense эта программа может выделять синтаксис, помогать нам автоматически заполнять код и даже находить ошибки.
Microsoft Visual Studio
Эта IDE позволяет нам легко создавать серверные приложения и программное обеспечение для настольных компьютеров для всех версий Windows. Обладая необходимыми знаниями, вы даже можете создавать 3D-приложения (и игры) с его помощью.
Студия шаблонов Windows
NetBeans
В дополнение к программированию на Java, с помощью соответствующих модулей мы также можем программировать на JavaScript, HTML5, PHP или C / C ++.
Delphi
Эта IDE может использоваться для программирования на нескольких языках программирования, хотя наиболее распространенным является ее использование для программирования в Object Pascal. Все, что мы пишем и компилируем, будет совместимо с Windows и Linux. Он также широко используется для веб-разработки, позволяя создавать клиент-серверные базы данных и веб-приложения и сервисы, такие как CGI, ISAPI, NSAPI, COM и DCOM.
Мы можем скачать Delphi от следующая ссылка.
Блокнот ++
Наконец, мы не могли забыть о Notepad ++. Этот бесплатный текстовый редактор с открытым исходным кодом является одной из лучших альтернатив Windows Notepad, но в нем также есть плагины, которые позволяют нам превратить его в полноценную среду программирования. Если мы хотим что-то простое в использовании для программирования по-старому (в текстовом режиме, без IDE), это наш редактор.
Какой язык программирования выбрать для создания десктопных приложений?
Какой язык программирования будет предпочтительнее для создания десктопных приложений?
Сейчас учу С++, но в итоге много начитался всякого и положил глаз на такой ЯП как Python. Вообще, о нём положительно отзываются, говорят, что самое то для новичка, кем я и являюсь. И еще, я самоучка, в дальнейшем, набравшись каких-то знаний и опыта, хотел бы попробовать устроиться на работу программистом, исходя из этого, я скорректирую первоначальный вопрос: какой язык программирования выбрать, желательно, чтобы он был востребован на рынке, ну если нет, то хотя бы чтобы давал неплохую базу, вообще средства для разработки.
Живу в СПб. В основном, как я посмотрел, нужны знания таких ЯП»ов как: 1с, С#, С++. Ну и ряд других для веба, как я понимаю, что-то типа PHP, Java Script etc.
Вообще, для начала, я вижу путь таким: учить какой-нибудь ЯП; окунуться в базы данных типа SQL/MySQL, ну и конечно же English. А что скажете Вы на этот счёт? Я как-то расплывчато всё написал, даже частично съехал с темы, но за любые советы будут премного благодарен.
Оценить 6 комментариев
> дело не только в IDE, а в жёсткой привязке к графическому интерфейсу и кастрированной командной строке.
Это вы о чем?
> GUI — это, безусловно, нужно, полезно, красиво и часто удобно, но многие задачи, особенно связанные с разработкой, удобнее делать в консоли.
А здесь я уже включаю Architect’а, и говорю, что консольность ядра приложения еще никак не исключает отсутствие GUI-оболочки.
Но линуксоиды с этим не согласны и в большинстве своем не любят GUI, а любят консоль и скрипты. Именно поэтому линуксоидовские Development Tools отстают по GUI. И с этим *не* нужно что-то делать.
А вот на винде, GUI во все поля, и с этим также ничего не поделать, а значит, на винде надо юзать C#, а не линуксоидовские Development Tools.
В общем, мы пришли к тому же, от чего пытались уйти.
Язык программирования для создания программ Windows
Это событие должны преподавать на уроках истории
Тут мы постим дегродные мемасы: Dank memes
Слишком страшно
Отец Павел борется с мракобесием антиваксеров
Как убивает локдаун на примере малого бизнеса
Всем рыцарям малого бизнеса посвящается. Держитесь, ребят!
У каждого человека есть список обязательных ежемесячных затрат:
А в локдаун этих продаж нет.
На сегодня в Челябинске нет таких жестких ограничений, но прошлое лето ужасно сказалось на нас и продажи до сих пор не вернулись к показателям прошлых лет.
И так, у меня есть два маленьких магазинчика с товарами для рукоделия. Бизнес специфичный, на личную яхту и самолёт никогда не заработаю, но товар добрый и пушистый. Да и мегамонстров на рынке нет (кроме относительно близкого по группам товаров «Леонардо»).
Мои основные ежемесячные расходы:
— зарплата («нерабочие оплачиваемые дни»)
— аренда (для многих это стало непомерной ношей и гвоздем в гроб бизнеса)
— коммунальные платежи (батареи работают как всегда, мусор вывозят каждый день, квадратных метров меньше не стало)
— налоги (патент. деньги снимают на него заранее; не слышала чтобы кто-то забрал у государства обратно за неработающий магазин из-за ограничений)
— кредиты за товар (кто-то берет у банков, а я беру товары в рассрочку и ежемесячно выплачиваю поставщикам, независимо от продаж)
— реклама (у нас были напечатаны листовки с датами, пришлось их выбросить. А большие магазины заранее все согласовывает и печатают баннеры-раздатку..)
— прочие расходы (канцелярия, сезонное/праздничное обновление витрины-полочек и тд)
В общей сложности, для моего маленького бизнеса это около 400-600 тысяч ежемесячно. Затраты, от которых ты никуда не спрячешься и не убежишь. Для бизнесов покрупнее речь идёт о десятках-сотнях миллионов.
Так откуда взять эти деньги, если % продаж в локдаун около нуля?
И так, ты должен всем кучу денег. У тебя нет финансов на закуп новых коллекций к приближающемуся сезону/празднику. Часть товаров пойдёт в мусорку. В моем случае остались вся весенняя и садовая тематика на 200т.р (на самом деле больше, но не смогла выполнить прогноз продаж на эту сумму), не смогла закупиться своевременно и выбросила в общей сложности ещё примерно на 300т.р.
— убытки 500т.р. плюс хранение целый год
То есть у тебя уже минус миллион…
И оно так помогает.
Кстати, в инете есть чек-лист с 19 пунктами, которые проверяют в магазинах. В том числе сертификат, срок годности антисептика, аппарат для обеззараживания воздуха и запас масок в магазине. Об этом вам никто не расскажет, сами ищите.
От администрации района мы постоянно получаем письма: «устройте субботник», «покрасьте мусорку», «посадите цветочки и деревья». Так что могли бы и написать полный список и обязательств магазинов (которые меняются постоянно)… но зачем напрягаться?
Вот и вся помощь от государства.
И они весь негатив от этой ситуации сливают на продавцов.
Нервы у последних не выдерживают и они увольняются.
Вот только ты честный человек и несёшь ответственность за людей, которые тебе поверили. И ты стараешься найти выход.
Но что ты можешь сделать, если тебе говорят: «плати всем, но работать тебе нельзя»??
Без малого бизнеса в каждом доме останутся Пятёрочка, Красное-белье и Еаптека с пунктом выдачи Маркета. Все будут ходить в одинаковой одежде от Глория джинс и Спортмастера, есть «колбасу одинаковую докторскую» или только в Макдональдсе, и цены взлетят на все, ведь конкуренции по сути не будет.
В России вас и так мало осталось. Держитесь.
Приступая к работе: Выбор языка программирования
Выбор языка программирования
Прежде чем продолжить, необходимо узнать, какие языки программирования можно выбрать при создании приложений универсальной платформы Windows (UWP). В пошаговых руководствах этой статьи используется язык C#, однако для создания приложений UWP вы можете использовать один или несколько других языков программирования (см. Языки, средства и платформы).
Для разработки можно использовать языки C++, C#, Microsoft Visual Basic и JavaScript. JavaScript использует разметку HTML5 для макета пользовательского интерфейса, а другие языки для описания пользовательских интерфейсов используют разметку XAML.
Примечание. Для приложений, использующих трехмерную графику: стандарты OpenGL и OpenGL ES, по умолчанию не являются доступными для приложений UWP. Если вы не желаете переписывать код OpenGL ES в Microsoft DirectX, возможно, вам будет интересно узнать о проекте Angle. Angle — это текущий проект, предназначенный для преобразования OpenGL в DirectX путем перевода вызовов API OpenGL в вызовы API DirectX. См. также:
Попробуйте C#
Как разработчик iOS, вы привыкли использовать Objective-C и Swift. Среди языков программирования Майкрософт наиболее близким к обеим является C#. Мы считаем, что для разработчиков наиболее простым в изучении и использовании является C#, поэтому для пошаговых руководств выбран именно этот язык. Подробнее о языке C#:
Ниже приведен класс, написанный на языках Objective-C и C#. Вариант на Objective-C показан первым, а вариант на C# — вторым.
Теперь для версии C#. Вы увидите, что аналогично Swift, для заголовка и реализации не используются отдельные файлы.