Да, я пишу десктопные приложения под Windows



    Здравствуйте, меня зовут Владимир и я анонимный разработчик десктопных приложений под Windows. В этом месте все должны сказать «Здравствуй, Владимир!», а кто-то может быть добавит «Молодец, что осознал!». А потом все похлопают. Нет, правда, иногда от чтения Хабра у меня возникают именно такое ощущение, что нормально, нет, даже не «нормально», а допустимо и одобряемо сегодня писать только микросервисы для каких-то стартапов, которые будут по какому-то REST API отдавать данные какому-нибудь фронтенду на Ангуляре, который и будет, наконец, показывать пользователю что-то невероятно полезное, вроде таблицы с аггрегированными отзывами о стрижках пуделей с возможностью посмотреть на гуглокартах где бы в вашем городе можно было сделать именно такую стрижку вашему пуделю (несуществующему). А никаких других программ писать уже нет-нет, никак нельзя! Что за чушь?!

    Да, многое сегодня происходит в вебе и на мобильных устройствах, но, знаете ли, далеко не всё. Значительная часть приложений по-прежнему является десктопным софтом. И даже (о, ужас!) не под Mac Os или Linux, а под тот самый богомерзкий Windows. И, знаете ли, софт этот живёт, развивается, поддерживается и является ежедневным рабочим инструментом миллионов людей. И никуда он мигрировать не собирается, потому что есть причины, по которым иногда именно десктопное приложение является лучшим вариантом.

    Десктопный софт работает без интернета


    Работа пользователя не прервется от падения столба на датацентр Амазона или умелого тракториста в соседнем дворе. Вся мощь криворуких сисадминов провайдера, Великих Правительственных Файрволов, горе-хакеров, облачных сервисов, которые на самом деле ни разу не облачные — всё это бессильно перед ПО, которому не нужен интернет, чтобы работать. Пользователь приходит на работу, открывает свой Autocad\Maya\ПО_по_рассчёту_дырчатости_бубликов — и получаёт свой результат, который принесёт его фирме деньги. А больше ничего и не надо.

    Лицензирование десктопного софта просто и понятно


    Нет, бывают, конечно оригиналы, которые невероятно удачную модель лицензирования «ваша программа через год превратиться в тыкву» заменяют на ещё более удачную «ваша программа через год откатит все апдейты и превратится в семена тыквы». Но это редко. В основном вы покупаете программу, активируете лицензию — и она работает. Всё, что бы там дальше не стрельнуло в голову её авторам — уж по крайней мере эта версия у вас работать не перестанет! 100% гарантия того, что завтра вы включите компьютер и вот этот вот ярлык запустит то же самое, что работало вчера — не прекрасно ли это? Можете ли вы рассчитывать на такую же гарантию у веб-сайта? Да черта с два — вспоминаем недавнюю историю с некоторым популярным сервисом про кино. Ну так ладно кино, а если бы что-то подобное произошло с ресурсом, на который завязана ваша работа и зарплата?

    Десктопный софт выглядит одинаково каждый день


    Установив некоторую версию софта, человек может научиться работать в ней быстро и эффективно. Со временем ты изучаешь быстрые клавиши, уже не ищешь ту или иную кнопку, ты знаешь что сейчас произойдёт и сколько времени это займёт. Работа становится предсказуемой. Если менеджер в фирме по установке пластиковых окон уже рассчитал в некоторой специализированной программе 100 окон, то время рассчёта 101-го окна он может вам назвать с точностью до пары секунд. И будет прав. Можем ли мы рассчитывать на что-то похожее с веб-сервисами? Ага, разогнались. Как же меня в своё время бесил Gmail, который к такой элементарной вещи как почта каждые 2 недели придумывал то фильтры, то теги, то категории, то 5 разных видов UI, то чат, то ещё какого-то черта лысого. Просто дай мне мою почту и ничего не меняй! Нет, так нельзя, надо вот сюда рюшечку и сюда иконочку. Ну и ладно, пойду-ка я в Outlook. С десктопным софтом вы сами, по крайней мере, решаете когда именно он будет обновляться и до какой версии.

    Десктопный софт доступен для расширения


    Частенько у десктопного софта есть система плагинов и есть уже готовые плагины, которые можно скачать и поставить. Ну или есть SDK и можно написать плагин самому. Или заплатить за его разработку. А даже если системы плагинов нет, то всё равно что-то да есть: есть интерфейс, который можно автоматизировать с помощью чего-то типа AutoIt, есть входные и выходные форматы данных, которые можно парсить, есть в конце-концов, бинарники, которые можно дизассамблировать и что-то подправить\понять\добавить. Нет, такое, конечно, по лицензии часто делать нельзя, но если очень надо, вот вопрос жизни и смерти человечества, то это по крайней мере физически возможно. А что с сайтом? Зачастую у нас либо нет вообще ничего, поддающегося расширению, либо есть API, который ограничен ровно настолько, чтобы ничего толком полезного с ним было сделать нельзя. Ну, спасибо большое.

    Десктопный софт работает


    В десктопной программе мне не нужно рассказывать пользователю, что у него старая версия IE или нет Flash или заблокировна Java — я просто поставлю инсталлятором всё необходимое. Мне не нужно его разрешение на геолокацию или доступ к папке с фотографиями — я пропишу его согласие на это в том лицензионном соглашении, которое все принимают не читая. У меня есть доступ к железу. У меня есть доступ к диску. Я могу написать всё, что угодно и не заниматься героическим решением задач типа «как передать данные из одной вкладки браузера в другую» или «как подписать платёж с помощью аппаратного криптоключа».

    С десктопным софтом быстрее начать работать


    Это кажется парадоксальным — ведь устанавливаемое ПО нужно скачать и установить, а сайт можно просто открыть в браузере. Но давайте посмотрим, что будет дальше: десктопное ПО запустится по двойному клику на иконке и сразу готово к работе. В то время как сайт, скорее всего, попросит вас зарегистрироваться (нудная процедура, ещё небось и капчу разгадывать заставят), потом пришлёт вам письмо для подтверждения почты, потом попросит авторизоваться. Если мы говорим о платных сервисах, то за десктопную программу нужно заплатить 1 раз, а сайт скорее всего попросит подписаться на регулярные взносы. В итоге скачать пару мегабайт и 2 раза нажать «Next» в инсталляторе получается куда быстрее пробежки по граблям при попытке начать пользоваться модным сайтом.

    Десктопный софт работает быстро


    Да-да, я знаю что Javascript по бенчмаркам работает уже в 2 раза быстрее ассемблера. Да хоть в 10 раз бенчмарки эти ваши будут показывать — что-то не выходят пока что последние Call of Duty и GTA в браузерах. По-старинке гоняют байтики древним нативным кодом. И чего это они? Не понимают ничего, видимо.

    Десктопный софт можно контролировать


    Саму инсталяху можно проверить антивирусом. И установленную программу можно. А ещё её можно запустить от юзера с ограниченными правами. Или в виртуалке. Или ограничить файрволом. Данные из неё можно сохранить локально, а можно — на удалённый диск. Можно забекапить. Удалить можно. Что из этого всего можно сделать с веб-сайтом? Вы понятия не имеете, что он сделает с вашими данными, куда сохранит, кому продаст, когда потеряет, почему не забекапит и зачем оставит после удаления вашего аккаунта.

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


    Всё просто — а никто пока не знает, как это всё правильно писать. У десктопного софта было пару десятилетий чтобы выработать свои правила, подходы и особенности — и в общем, у него это получилось. Кто 15 лет назад писал на Delphi может писать на нём и сейчас и не сказать, чтобы уж как-то сильно всё поменялось. На вопрос «Как в .NET показать месседж-бокс?» ответ был дан давно и с тех пор не менялся. Все основные фреймворки и библиотеки сложились и устаканились и сегодня мало кто рискнёт стукнуть кулаком по столу и заявить что всё вот это ваше WinForms\WPF\Qt\VCL не правильно и сейчас я тут достану шашку и покажу как надо! А в Javascript и Mobile это происходит каждые несколько месяцев. Вот и круги по воде идут от этого.

    А теперь я чуть-чуть остыну


    Конечно, веб-версии продуктов нужны. И мобильные нужны. И даже у того софта, который я пишу, такие версии имеются. А в десктопной версии, соответственно, и авторизация, и вызовы REST API и даже всякие расшаривания и лайки, будь они неладны. Это всё, однако, не отменяет вышесказанного, поскольку дополнение фунционала рюшечками — это хорошо, а позиционирование рюшечек самих по себе как функционала — совсем наоборот.
    Инфопульс Украина 166,77
    Creating Value, Delivering Excellence
    Поделиться публикацией
    Похожие публикации
    Комментарии 565
    • +28
      сегодня мало кто рискнёт стукнуть кулаком по столу и заявить что всё вот это ваше WinForms\WPF\Qt\VCL не правильно и сейчас я тут достану шашку и покажу как надо
      Мы вот кроссплатформенный клон WPF пилим, например. Будет даже на мобилках работать. Ровно так же как и на десктопе причём.
      • +6
        Круто, если даже Хамарин переплюнет — вообще шикарно будет. Успехов Вам.
        • 0
          А зачем WPF? Если понятно что XAML проигрывает (ну или как минимум не лучше) HTML/CSS связки. Cascading в CSS опять же…

          Я вот тут недавно сравнивал Sciter и WPF так как они сделаны для одного и того же — declarative desktop UI platforms.
          • +1
            Затем, что он избавляет от необходимости использовать JS. Касательно Sciter — там биндингов и MVVM-плюшек нет.
            • 0
              Да я как бы ни слова про язык code-behind-ui не сказал. Это может быть всё что угодно. В случае Sciter это tiscript, С++, D, Go, Delphi и все языки .NET.

              До мощности CSS XAMLу далеко. А markup он должен быть больше semantic. XAML попытался в одном флаконе объединить и то и то, но в результате толком ничего не получилось. ИМХО, ИМХО и еще ра ИМХО.

              Кстати если есть желание можем посотрудничать.
              • 0
                Мне почему-то показалось, что для совместной работы sciter и .net (как code-behind) надо сначало много «поработать напильником».
                • 0
                  Это да, толковый binding для .NET, еще предстоит написать.
                • 0
                  все языки .NET.
                  Очень не нативно. Хочется задать темплейт и биндиться из него к какой-нибудь ObservableCollection без приседаний и прочих ненужных телодвижений.
                  Касательно мощности CSS, мы в перспексе в стилях делаем поддержку сложных селекторов, если что.
                  • 0
                    Я не понимаю смысла фразы «Очень не нативно» в контексте .NET и WPF.

                    В sciter есть samples/+plus/ модуль. Это duplex data binding в стиле AngularJS и прочих MVC. С templates, repeatable и прочими фишками. Основан на Object.observer(function).

                    script в иделогии sciter это такой-же способ описания стиля как и CSS. script описывает behavioral style, а CSS rendering style. В это этом случае язык самого приложения выполняет то для чего он предназначен лучше всего — [business] локику приложения.

                    • 0
                      Я не понимаю смысла фразы «Очень не нативно» в контексте .NET и WPF.

                      Ну то есть в вашем чудо-фреймворке из шарпа нельзя взять и подключить к гую ViewModel, в которой лежат всякие разные ObservableCollection. Я лучше лишние несколько человеконедель убью на реализацию родного для дотнета фреймворка, чем буду копаться в каше из разметки, скриптов, CSS и клея, которым всё это крепится к бизнес-логике.
                      • 0
                        Вопрос про то что есть MVC сугубо религиозный. Model в смысле UI это несколько иное чем data layer data model.
                        Я считаю что loosely coupled UI и business logic есть хорошо. У каждого layer своя собственная data model.
                        И общение между ними ограничено фактически get/set запросами.

                        Во всяком случае код приложения (его core logic) не должен быть приколочен гвоздями к UI.

                        Вот приложение которое уже практически 10 лет живет с htmlayout/sciter UI:
                        sciter.com/from-skeuomorph-to-flat-ui-evolution-of-one-application
                        за это время они практически только UI и меняют. CSS и script, ну там animation модно стало по другому делать и пр.

              • 0
                XAML проигрывает (ну или как минимум не лучше) HTML/CSS связки

                А как на HTML сделать UserControl?
                • 0
                  <user-control>
                    ...
                  </user-control>
                  


                  А в CSS сказать
                  user-control {
                    behavior: MyUserControl;
                    ...
                  }
                  


                  И если это С++, то в нем описать

                  class MyUserControl : public event_handler {... }
                  


                  В .NET примерно так же (при наличии толкового binding).

                  В script то же пишется как

                  class MyUserControl : Behavior {
                    function attached() {...}
                    function detached() {...}
                  }
                  


                  • 0
                    В XAML UserControl это кусок разметки + поведение. Например, контрол по выбору даты из календаря, или по выбору ФИО из справочника клиентов (textbox + две buttons).

                    При использовании я просто вставляю в разметку <ns:MyUserControl prop1=«val1» prop2=«val2»/>

                    В HTML, как я понимаю, нужно будет копипастить все внутренности контрола в каждое место, куда я его хочу поставить?
                    • +1
                      Ну тут кому как удобно. Если instances user-control будет много то

                      <user-control id="n1" />
                      ...
                      <user-control id="n2" />
                      
                      


                      А в Behavior.attached() делаем DOM population:

                      class MyUserControl : Behavior {
                        function attached() {
                           this.html = "<input.name/><button.add-name/>";
                        }
                        function onMouse(evt) {...}
                        function onKey(evt) {...}
                      }
                      
                      • 0
                        Да, теперь стало понятнее. Новый тэг это просто маркер, куда js вставит кусок разметки при загрузке страницы.
                        Тут у XAML преимущество — содержимое контрола видно в design-time.
                        • 0
                          А в Sciter содержимое видно в DOM inspector. Если учесть что перезагрузка UI (если нужно показать изменения) это просто F5
                          то разницы между design time и run time я не вижу. На поддержку design-time тратится достаточно много ресурсов. В production этот весь код поддержки design-time редактирования не нужен, но он там есть зачем-то.

                          image
                          • 0
                            это просто F5

                            Это смотря в какой IDE писать и под какой веб-сервер.
                            Например, в Visual Studio с ASP.NET MVC чуть поправил css, и паблиш на тестовый сервер или в локальный IIS занимает около минуты, пока всё скомпилируется. Потом сайт после паблиша просирается полминуты (компиляция IL-кода). Потом я понимаю, что это надо сдвинуть на пару пикселей, и всё снова.
                            • +1
                              Переезжайте уже на vNext. Там действительно «просто F5».
                              • 0
                                При чём здесь Visual Studio и ASP.NET MVC?
                                • 0
                                  Я не видел IDE, в которой разрабатывается код под sciter, но указал, что в _некоторых_ IDE посмотреть изменения запуском приложения медленно.
                          • 0
                            Я как то даже забыл, что бывает какой-то onKey. Мне по нажатию на кнопочку надо вызвать метод, и передать туда текущие значения prop1 и prop2 из тексбоксов. Мне для этого onKey нужен?
                            • 0
                              Если «метод» это native backend function ( скажем «backendMethod1» ) то например так:

                              include "decorators.tis";
                              
                              class MyUserControl : Behavior {
                                function attached() {
                                   this.html = "<input.name/><button.add-name/>";
                                }
                              
                                @click @on "button.add-name" 
                                     function() {
                                        var json = {
                                           prop1: this.attributes["prop1"],
                                           prop2: this.attributes["prop2"],
                                           newName: this.select("input.name").value
                                        };
                                        view.backendMethod1( json ); // calling native method registered in view.
                                     }
                              }
                              


                              Здесь используются декораторы.

                              То же можно описать и в классическом JS/jQuery стиле (в Sciter многое из jQuery имплементирвано нативно)

                                function attached() {
                                   this.html = "<input.name/><button.add-name/>";
                                   this.on("click","button.add-name", this.onAddNameClick);
                                }
                                function onAddNameClick() {...}
                              
                              


                              • 0
                                this.attributes[«prop1»] — жуть. Биндинги там не изобрели?

                                В общем, до «XAML проигрывает» тут пока далеко.
                                • 0
                                  Для желающих биндинга есть +plus модуль

                                    <ol each="item in items|filter">
                                        <li class="{{done:item.done}}"><input|checkbox(item.done)/> {{item.subject}}</li>
                                    </ol>
                                  

                                  Это live data binding в стиле AngularJS.

                                  Но всякий автоматический binding имеет свою цену: далеко не всё укладывается в простой attribute-property binding, хорошо если 90% процентов того что нужно можно забиндить декларативно. Зато имплементауия остальных 10% как раз и занимает 90% отведенного времени. Так на так и приходится.

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

                                  Написать это вот явным образом
                                  prop1: this.attributes["prop1"],
                                  

                                  иногда в разы полезнее чем потом рабираться «где оно тормозит?».
                                  • 0
                                    Что же вы такого имплементируете в 10% случаев?
                • +2
                  Никто не против декстопных приложений. Вот только в наше время кроссплатформенность уже необходимость и реальная возможность, фреймворки стали достаточно просты для этого.
                  • +5
                    Необходимость — для кого? Для «стартапов», чтоб на лэндинге в три колонки нарисовать ghost buttons со ссылками на версии под Mac / Win / Linux? Или какая-то значительная часть пользователей нуждается одновременно в версиях приложения хотя бы под две из трёх платформ?
                    • +8
                      Ну, я вот был бы рад, если бы все используемые мной повседневные приложения работали на Windows, iOS и Windows Phone (естественно, с общими данными).
                      • +2
                        А я намеренно не упомянул мобильные платформы. Ведь даже для веба это разный фронтенд — отличный от десктопного UX.
                        • +1
                          Ну как минимум виндовс и мак. Ну нельзя не поддерживать мак на клиенте в большинстве случаев. А это уже само по себе сложность. С Xamarin все не так радужно, как вы рассказываете в статье.
                          Ну и конечно «мобильные платформы» — которые давно уже не только мобильные. Android и прочее есть и на планшетах и лептопах. А сами лептопы обзавелись сенсорными экранами.

                          Блокер использования нативного клиентского приложения сегодня — это кроссплатформенность. А именно необходимость найма людей, знающих разные платформы и технологии или специфику применения кроссплатформенных технологий на разных клиентах. На сегодняшний момент html5 — это самый дешевый и надежный способ ее обеспечить.

                          На сегодняшний день абсолютно все пункты, которые вы указали (даже 1 и 3) — не проблема для веб решений. А проблема кроссплатформенности нативных решений все еще не решена в плане затратности.
                          • +1
                            А в чём смысл кроссплатформенности вообще? Как минимум GUI под каждую платформу нужно делать отдельно. Ну типа совершенно отдельно. Нельзя просто так взять и декорировать маковое приложение видндовой шкуркой и сказать, что вин-приложение. Логику при желании можно писать на дважды-позитивном языке, который компилируется подо всё. Фреймворкам остаётся позаботиться только о, скажем так, едином API доступа к ОС-специфичным функциям (которые на самом деле и GUI, но пусть он будет отдельно, т.к. это не только код, но и визуальное представление).

                            И я, кстати, не автор поста.
                            • 0
                              Смысл кроссплатформенности в том, чтобы избежать расходов.

                              Вот представьте себе, что вы хотите создать приложение и у вас есть на это бюджет. Вам нужно, чтобы работало на маке, винде и андроид лептопах\планшетах тоже очень желательно. У вас есть выбор.

                              1) Заказать 3 приложения на 3 платформы (возможно в трех разных местах).
                              2) Найти команду, которая сможет сделать кроссплатформенное решение с разными «шкурками» на «позитивном» языке.
                              3) Заказать одно приложение на html5 и вотнуть его в видноус маркетплейс и в гибрид для мака и андроида. И может и в виде сайта до кучи.
                              Вариант с мобильными девайсами мы не рассматриваем. Приложение для десктопа. Но с мобильным будет тоже самое на самом деле.

                              Лично я даже не задумаюсь в такой ситуации над выбором. Потому, что пока нет надежного и дешевого кроссплатформенного решения, вариант 2 содержит серьезные архитектурные риски. На самом деле такое дешевое кроссплатформенное решение и есть html5. Какой нибудь кофескрипт для него заюзать и вперед.
                              Именно на нем сегодня заострили внимание корпорации вроде майкрософта, гугла и т.п. А вслед за ними и мы.

                              Автор статьи смешал вместе два вопроса: веб\дектоп и браузер\натив. Первый вопрос на практике вообще уже не вопрос. Потому, что дектоп приложения вообще без сервера стремительно вымирают. А веб приложения рвуться в оффлайн. А по второй проблеме ситуация вот именно такая как я описал. Для того, чтобы выбрать нативную разрабоку для приложения сегодня нужно иметь вескую причину. И таких причин с каждым днем все меньше.
                              • +2
                                Вот представьте себе, что вы хотите создать приложение и у вас есть на это бюджет. Вам нужно, чтобы работало на маке, винде и андроид лептопах\планшетах тоже очень желательно.
                                Это аргументация типа:
                                — Зачем делать кроссплатформенное приложение?
                                — Вот представьте, вы хотите сделать кроссплатформенное приложение…

                                браузер\натив
                                Интересно. По второму кругу пошло, когда каждое приложение выглядит как вздумается. Кажется, я такое уже лет 15 назад видел.

                                веб\дектоп
                                Скажите, приложения для каких задач вы выберете в веб-версии? Просто, я смотрю на панель задач у себя, там несколько десятков иконок и все нужны на десктопе, standalone, такскать.
                                • 0
                                  Это аргументация типа:...
                                  Эмм… а при чем тут это? Вам нужна аргументация зачем поддерживать несколько платформ? Ну это вопрос целевой аудитории, рынка, который вы хотите охватить продуктом. Если ваши пользователи гарантированно используют виндовс — то понятно. Если считать, что скажем пользователей мака 10-20% (к примеру), то кажется да — а почему бы просто про них не забыть. Но когда посчитаешь потенциальный размер маркетов для приложений — расходы на кроссплатформенность начинают выглядеть оправданными.

                                  Интересно. По второму кругу пошло, когда каждое приложение выглядит как вздумается. Кажется, я такое уже лет 15 назад видел.
                                  Да — все циклично в софтверной индустрии. Еще есть вопрос выноса бизнес логики на сторону клиента или сервера. Тоже тренды меняются периодически.

                                  Скажите, приложения для каких задач вы выберете в веб-версии?
                                  Честно говоря при прочих равных в последнее время вообще предпочитаю пользоваться веб версией чего угодно. На нижней панели у меня прямо сейчас браузер, evernote (потому, что десктоп версия поживей), менеджер паролей (веб версии этого нет), calibre (веб версии нет), и скайп (потому, что веб версия глючит).
                                  Все остальное: офис, почта, приложения для работы с проектами, ide — все потихоньку переместилось в веб. Со сменой виндовса старые приложения просто не хотелось ставить опять. Какой то вот особой тяги к вебу у меня нет. Десктоп в принципе не хуже. Но зачем ставить, если можно не ставить?
                                • +6
                                  А не дешевле ли получится написать три приложения вместо одного?

                                  Приобрёл я как-то опыт подержки софтины, которая писалась виндовым программером под макось на делфи. Кросплатформенно, да ) но не работает. Там даже на примитивах уже косяки повылезали: товарищ изначально не знал (как и я, впрочем), что например, в BSD системах, представителем которых является макось, нет именованых объектов синхронизации. А уж когда баги править стали, то вообще прозрели: такой цацки как SEH в BSD тоже нет. Что, WinSock, когда-то слизанный с BSD, на родной BSD'шный ныне похож очень отдалённо. Что функции сишного рантайма работают немного по-другому. Что в максоси принято использовать ARC вместо GC или привычного ручного упраления временем жизни.
                                  И так во всём!

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

                                  Я когда-то питал иллюзии на тему кросплатформенности, но сейчас я думаю, что дешевле писать и поддерживать несколько приложений. Что только куски приложений, типа алгоритмов и ресурсников, могу быть одними, а во всём остальном это будут разные приложения.
                                  • 0
                                    Вам видней — как то не довелось честно говоря сталкиваться с кроссплатформенными решениями такого рода. Знаю только по наслышке. В частности про специфику Хамарина, Моно и прочих. Ругали их сильно. Риски тут очевидны конечно. Может и дешевле написать 3.

                                    Вопрос в том не выбрать ли браузерное решение. Которое точно работает в одной среде. Если конечно нет каких то явных стопперов для этого.
                                    • +1
                                      Вопрос только в платформе. Тот же Mono вполне себе поддерживает большинство фишек дотнета, и ThreadPool там тоже есть. Как-то все-таки реализовали ведь? Нет такой проблемы, которую нельзя решить еще одним уровнем абстракции, кроме слишком большого числа этих уровней. Пожертвовать частью производительности и написать кроссплатформенное приложение (а потом с профайлером на сэкономленые средства вернуть её на место) — стоит того.
                                  • 0
                                    > Как минимум GUI под каждую платформу нужно делать отдельно. Ну типа совершенно отдельно.

                                    Для сайта — нет.
                            • +2
                              Если приложение хорошее, то им все хотят пользоваться, а все сидят под разными операционными системами. Что тут говорить, если даже Microsoft выпустили свой редактор с поддержкой не только винды, но и OS X с Linux.
                              • 0
                                Я, может, неверно вас понял. Я подумал, что вы считаете, что предпочтение отдаётся вебу из-за «кроссплатформенности». Во-первых, мне вот сейчас вообще ничего такого на ум не приходит, что можно из десктопа унести в веб, кроме текстового редактора :) Ну и в редких случая какие-нибудь тяжёлые вычисления в облако. Во-вторых… э, а этим майкрософтовским редактором так уж все хотят пользоваться?
                                • +1
                                  Да, я про то, что десктопные приложения должны быть кроссплатформенными, так как многие фреймворки это позволяют. Про редактор от MS я говорил, что даже сами создатели Windows осознают важность кроссплатформенности.
                                  • –18
                                    «Многие фреймворки» это кто? Я вспоминаю только Qt. Но он потормознутее веб-интерфейса будет (особенно 5-ка).
                                    • +15
                                      Да ладно.
                                      • –4
                                        А вы возьмите не Core i5/i7, а что-нибудь послабее, например, тонкие клиенты, которые многие используют. Там приложение на QML обновляло интерфейс с частотой раз в несколько секунд при довольно простой функциональности. Притом почти такая же логика и интерфейс на HTML+CSS+JS в браузере работают нормально.
                                        • +5
                                          QML это не нативный Qt, а тот же скрипт.
                                          • +1
                                            Я б сказал, это нечто посередине.
                                          • 0
                                            Рисую таблички с сотнями полей на Raspberry Pi, в каком случае QML зависает? Используете Loader? (он чудовищно тормознутый, как оказалось, да)
                                          • 0
                                            <sarcasm>
                                            

                                            Ну а вы думали, что компилируемые языки шустрей? Конечно нет, за скриптами будущее! И графика на процессоре быстрей летает.
                                            </sarcasm>
                                            
                                          • +2
                                            Firemonkey для Delphi/C++ тоже умеет кроссплатформенность.
                                            .Net тоже кстати хочет быть на разных осях, пилят сейчас OSX в нем.
                                            • 0
                                              пилят сейчас OSX в нем.

                                              И не только OS X
                                          • 0
                                            десктопные приложения должны быть кроссплатформенными, так как многие фреймворки это позволяют
                                            Что-то здесь не так. «Этот шуруп должен забиваться, так как у меня в руках молоток».
                                          • –1
                                            ХОТИМ!!!
                                            • +3
                                              Отличный пример — документы гугл. Фактически офисные excel, word вынесены в веб, добавили грамотный многопользовательский режим — и этим можно пользоваться, и как ни странно иногда даже удобнее, чем десктопными аналогами (там, где совместная работа над документом важнее функционала по редактированию). Но это все же редкий пример и с позицией автора я согласен по всем пунктам.
                                              • +9
                                                Терпеть не могу гуг докс, извращение для фриков, рядом с MSO он вообще не валялся. Ну разве что коллективная работа…
                                                • +2
                                                  Так коллективная работа и в MSO вроде есть теперь, даже на десктопе.
                                                  • +3
                                                    Самое весёлое, что старый формат гуглодокса, хоть он и «кошерный» (открытый, кроссплатформенный, не бинарный и пр.) не конвертируется в новый формат гуглодокса без полного развала форматирования. Как они так умудрились сделать с собственным форматом данных и не смогли его сконвертировать я не представляю.

                                                    Просто для примера: в том же OpenOffice старые закрытые форматы MSO (doc и прочие не xml-based) разбираются на порядки лучше притом что в OpenOffice реверсинженерили чужой бинарный формат, который из себя фактически представляет аналог ФС и внутри которого по ссылкам может быть что угодно и шрифт и вложенный файл и ссылка на другой документ и даже произвольные данные, при этом спецификации им не были доступны вообще.
                                                    • 0
                                                      Сохраните форматированный документ (нагляднее всего с таблицей) из ОпенОфиса в любом формате Ворда — хоть с xml-разметкой. Потом откройте.
                                                      Кстати, фоновые и встроенные изображения Ворд по жизни (в 6.0а такого не помню, как и в 95-й версии) лепил, куда мог (особенно при перетаскивании оных с одной страницы на другую), а с 2013-й версии стал вообще неудобоварим.

                                                      Про виртуальную клавиатуру, обычно закрывающую место редактирования, говорить будем?
                                                    • +2
                                                      А я, спасибо курсовым в институте, вообще терпеть не могу офисные утилиты — больше ничего мне столько нервов не тратило. Обиднее всего, что до сих пор не конвертера LaTeX → whatever-office-format.
                                                      • 0
                                                        Pandoc
                                                        • 0
                                                          Распространненое заблуждение, предел возможностей pandoc — конвертировать самые базовые мелочи, как параграфы, и «хэдинги» разного уровня. Я могу сделать даже более сильное заявление: он никогда не станет нормальным конвертером — как бы абсурдно не звучало, но это цель мэйнтейнера этого проекта.

                                                          Я спорил в разных ветках гитхаба с главным разработчиком, и это окончилось тем, что в одном из комментариев тот заявил на один из багов при конвертации LaTeX, что это out of scope. Я полу-саркастично спросил, что может быть стоит добавить в ReadMe, что почти вся работа настоящего конвертера «out of scope» (не прямым текстом, просто это был уже черт знает какой по счету спор) — я никак не ожидал, что он примет предложение за чистую монету, и добавит в ReadMe.

                                                          Как я понял из его аргументации, «out of scope» просто потому, что ему лень этим заниматься.
                                                        • +2
                                                          Аплодирую стоя. Я по ошибке своей, прежде чем писать один документ в универе, начал его делать на LaTeX'е. Какого было мое разочарование когда на мой присланный распрекраснейше отформатированный pdf, мне сказали что ничего кроме word'а они не принимают. Это было настолько фрустируеще, что я даже не могу подобрать слов это описать.
                                                      • +10
                                                        Этим невозможно пользоваться, потому что оно люто тормозит, а в случае Firefox ещё и с некоторой вероятностью крашит браузер.
                                                        Конечно, при наличии 8 (а лучше 16) Гб памяти, Core i7 и видеокарты GTX960 всё будет более-менее прилично работать.
                                                        А вот теперь попробуйте на неттопе под эрзац-процессором Atom, который усиленно пытается выдать себя за полноценный процессор, и с 2Гб памяти на борту. Этот google docs даже просто прогружаться будет секунд 10, а любая операция станет по-настоящему мучительной. Тогда как десктопный офис работает без малейших сложностей.
                                                        И это я ещё не упоминаю про качество Интернета. Хорошо, если вы на оптоволокне сидите. А ну как у вас 3G от кого-нибудь из большой тройки? Которые на словах утраивают скорости чуть не каждый месяц, а на деле по скорости и особенно стабильности до сих пор не достигли даже уровня Dial-up'а начала 2000-х.
                                                        • 0
                                                          Пример и правда отличный. Для сценария «раз в два года сделать какой-то документ для MSO» — подходит идеально. Позволяет избегать всякие офисы локально. А чаще мне с такими документами работать и не нужно.
                                                          • 0
                                                            Дак вот я и говорю, текстовые редакторы…
                                                        • 0
                                                          А что за редактор у них для Linux?
                                                          • 0
                                                            Visual Studio Code. Неплохая штука, но гвоздями приколочена к разработке для ASP.NET vNext и под node.js.
                                                        • +1
                                                          Доля Mac OS на мировом рынке на деле небольшая, однако все журналисты/блогеры/другие хипстеры им пользуются. Как-то слышал как стартап отказывался выпускать виндовый клиент пока не доделают мак ибо на презентацию придут журналисты с маками и ничего не смогут установить, если будет только Windows.
                                                          • +18
                                                            Ничего не имею против Мака, Линуха или Винды, но в упомянутом вами случае тема компетентности приглашенных журналистов/блогеров/хипстеров крайне сомнительна, если они не могут разобраться в чем-то кроме своего маленького мирка.
                                                            • –1
                                                              Андроидов в мире намного больше, чем iOS. Однако денег обычно с iOS разработчики получают больше. Так и на десктопе. Поэтому кросс-платформенные решения набирают популярность. На десктоп, к сожалению, нет таких хороших инструментов пока (кроме вышеупомянутых JS-based, к примеру Gitter который, кстати, глючит как будто биткоины майнит в фоне). Вон, гитхаб свой клиент написали сразу на Windows (WPF) и на Mac OS (Cocoa).
                                                              • +1
                                                                Вы точно ответили мне? )) При чем тут Андроид и прочие? Я как раз с вами согласен. Всего лишь указываю на то, что какой-то там стартап очкует выпускать клиент
                                                                пока не доделают мак ибо на презентацию придут журналисты с маками и ничего не смогут установить

                                                                По-моему это не нормально, т.к.
                                                                в упомянутом вами случае тема компетентности приглашенных журналистов/блогеров/хипстеров крайне сомнительна
                                                                • +2
                                                                  Тут мне кажется проблема даже не в компетентности журналистов/блогеров/хипстеров — продемонстрировать им свой продукт можно будет без особых проблем, хотя бы банально тем чтобы притащить на презентацию свои ПК с установленным продуктом (это даже нормально, игры например тоже вначале демонстрируют на железе компании, а не сразу ставят на железо журналистов). И напишут они об этом легко.

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

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

                                                                  Собственно здесь также стоит фактор того, что «не все доли рынка созданы равными» — у кого-то может быть больше условных процентов, но при этом та часть рынка с меньшими процентами легко может быть более платежеспособной, более склонной покупать товары того или иного вида или даже предпочитать что-то больше, чем другое. Возвращаясь к примеру с играми, иной раз одна игра может продать на какой-то платформе в разы больше, при условной равности долей на рынке этих платформ, просто потому, что популярность продукта на соответствующей платформе больше. Точно также и с Windows, при всем уважении к Microsoft и их рыночному успеху, какая часть из их доли рынка это вообще конкретные платежеспособные пользователи, а не условные установки, работающие черте где сугубо в утилитарных целях или вообще просто ОС, поставляемая в комплекте с дешевым ноутбуком из ближайшего магазина? Таких ведь явно не мало. Поэтому опираться на цифры доли рынка было бы глупо. Собственно Nagg все уже сказал на примере Android и iOS.
                                                                  • 0
                                                                    Ваш второй и третий абзац как раз подходит под некомпетентность сферического корреспондента. Это равнозначно, если бы я был ненавистником консолей, потому что они тормозят развитие видеоигр на ПК, или наоборот. Но у консолей уже третий десяток лет своя ниша, у ПК тоже своя. Глупо спорить, что игровые приставки могут соревноваться с производительностью персонального компьютера. Однако же PS4, etc. вполне даже процветают.
                                                                    • 0
                                                                      Некомпетентности здесь нет, это обычная нормальная для людей субъективность — лучше когда человек хотя бы признает её сам и не будет пытаться лезть не в свой огород, чем когда эта субъективность все равно на месте (люди не роботы, от этого никуда не деться), но её пытаются скрыть и в итоге продукт освещает человек, которым о нем мало чего знает т.к. сам по жизни им не пользуется, он ему не интересен, у него другие взгляды и т.д., в итоге читаешь такие материалы и покрываешься фейспалмами от того, что автор не понимает о чем пишет. Второй случай с псевдообъективностью как раз таки куда более распространен нынче.
                                                            • –3
                                                              У меня, простите, завтрак внутри закипает, когда я читаю такое в обед.
                                                              Вы правда думаете что маком пользуются исключительно «журналисты/блоггеры/дргуие хипстеры»?
                                                              • +5
                                                                :-) Расслабьтесь, тот коммент я написал с мака.
                                                            • –29
                                                              Нужен — Web разработчикам
                                                              Нужен — Embedded разработчикам
                                                              Нужен — системным инженерам
                                                              Нужен — сетевым инженерам.

                                                              Да блин, только программисты под windows на винде работают — все остальные уже давно перешли на макось и линукс, и на то есть масса причин. Так что если вы пишете софт для разработчиков — он обязан быть кросплатформенным, даже если это отрицательно скажется на его производительности.
                                                              • +24
                                                                Да блин, только программисты под windows на винде работают — все остальные уже давно перешли на макось и линукс, и на то есть масса причин

                                                                Кошмар. И как это я вообще умудряюсь на винде под android писать? Кощунствую прямо :)
                                                                • –11
                                                                  Каждый сам выбирает как ему страдать. Завтра вас попросят писать и для iOS, и вы перейдете на макось.
                                                                  Захотите сбилдить нативную либу — задумаетесь о переходе на линукс.

                                                                  Я тоже длительное время работал на винде (лет 5), и думал что все в порядке. Но коллеги пересадили на Xubuntu, и я понял, что все это время страдал. Страдал от отсутствия нормальной командной строки, от невозможности кросс-компиляции либ, от невозвоможности нормально пользоваться тем же maven, от проблем типа «работает на рабочем компе, не работает на целевой платформе».

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

                                                                  И на все у меня будет только один ответ — попробуйте, и поймете, насколько удобней работать в той ОС, которая помогает вам делать работу, а не ставит препятствия при каждой более-менее нестандартной задаче.

                                                                  У вас всегда есть выбор, как потратить ваше время — на разборки с операционкой или на продуктивное выполнение работы.
                                                                  • +26
                                                                    Наверное где-то есть специальные подпольные клубы, в которых линуксоиды придумывают лозунги. А может это вообще через слюну передаётся и вызывает деформацию сначала рук, а потом и соответствующих отделов головного мозга.

                                                                    Стоит кому-то успешно перейти с винды на линукс, как он сразу начинает рассказывать, как он 20 лет страдал без вима и с нормальными дровами на видяху.
                                                                    • –17
                                                                      До сих пор страдаете в нотепаде? Тогда дядюшка Торвальдс идет к вам!

                                                                      Вы путаете «деформацию рук» и «выпрямление рук».

                                                                      А что касается дров на видяху — давно уже никаких проблем.

                                                                      Возможно, лет 20 назад и были у линукса проблемы, я тогда им не не пользовался. Но последние года 3 все работает просто отлично. Так что если до сих пор не попробовали, сейчас самое время.
                                                                      • +22
                                                                        Такое ощущение, что на линукс вы перешли вчера, вас переполняет эйфория и вы пытаетесь всех убедить, насколько же вы крут.

                                                                        У вас всегда есть выбор, как потратить ваше время — на разборки с операционкой или на продуктивное выполнение работы

                                                                        Стоп. Это я только что про linux прочитал? А что за систему я тогда пытался сделать своей основной раза три в течение 2-х недель, но потом каждый раз понимал, что вместо работы танцую с бубном?

                                                                        А что касается дров на видяху — давно уже никаких проблем

                                                                        Привет из прошлого. Lenovo g500, дискретка от Radeon на 15.04 все так же толком не заводилась. 15.10 не пробовал еще.

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

                                                                        Конечно, найду :) Поэтому я и сижу на винде. Ибо линуксозаменителей для нужных мне вещей в свое время мне найти не удалось.
                                                                        • –22
                                                                          А что за систему я тогда пытался сделать своей основной раза три в течение 2-х недель, но потом каждый раз понимал, что вместо работы танцую с бубном

                                                                          у придумывающих лозунги это называется «НИАСИЛИЛ»
                                                                          Если живешь в хрущевке десять лет и кроме хрущевок ничего не видел — то да, в хрущевке рай. А если месяцок в своем доме пожить, как то в бетонной коробке уже тесновато. Но в котетже, увы, надо там подремонтировать, тут снег разгрезти лопатой (прям руками!). Но я ведь хотим просто жить, а не грести снег и работать молотком, поэтому наш выбор хрущевка, а дома для упоротых с деформированными руками и мозгом.
                                                                          Стоит кому-то успешно перейти с винды на линукс, как он сразу начинает рассказывать, как он 20 лет страдал без вима и с нормальными дровами на видяху.

                                                                          да идиоты, не слушайте вы их, заразились вирусом через слюну, еще и нищеброды наверное, винду купить не могут.
                                                                          Каждому свое, кому то и семерка мерседес.
                                                                          • +16
                                                                            Метафора про хрущёвку и дом — это лукавство. Если линукс по-вашему — это коттедж, то у него разве что фундамент норм, но стена легко может рухнуть, когда Вы решите забить в неё гвоздь для картины.
                                                                            • –4
                                                                              надо забивать гвозди правильным образом и правильными инструментами, и все будет ок. Как то большинство серверных админов не только картины, но и полки и новые окна прорубают. В ваших «пентхаусах» вообще ничего не забить, если главным жэком разьема для гвоздя в данном месте не предусмотрено.
                                                                              • +8
                                                                                Серверные админы? Ну так и сказали бы сразу, что Вы в казарме живёте ) Или может в пионерлагере вожатый…
                                                                                Вроде речь шла о десктопах, нет?
                                                                                • +1
                                                                                  Хм. А в «хрущевке» можно забивать любые гвозди и чем угодно.
                                                                                • +1
                                                                                  Вот вот. К сожалению, большая часть софта, в разработку которого не вкладываются крупные компании, не может сравниться с коммерческими аналогами. А это практически весь десктопный софт.
                                                                                  Одновременно с этим, софт серверный и прочие вещи, в которые контрибьютят крупные компании, работает отлично и аналогов может не иметь.
                                                                                  В итоге линукс на десктопе — кактус. В умелых руках практически без иголок, но все же.
                                                                                  И самый большой шанс на качественное улучшение — это то, что Vavle притянет на Linux достаточное количество пользователей и, следом, разработчиков.
                                                                                • +7
                                                                                  Нет. Наш выбор комфортабельный пентхаус, где есть лифт и дворник, убирающий снег сам, без нашего вмешательства. Хотя да, такой дорогой пентхаус не сравнится с вашим бесплатным домиком в деревне по цене.
                                                                                  • –12
                                                                                    Макось еще можно с пентхаусом сравнить, но windows — это не пентхаус при любых раскладах, и даже не домик в деревне. Это хрущевка, стандартная, одинаковая, с дыркой под подоконником, с сантехникой из середины 90х и деревянной дверью на ржавых петлях, где главный жэк раз в пятилетку переклеивает обои и меняет цвет перил в подьезде.
                                                                                    • +6
                                                                                      Стереотипы-стереотипчики.mp3
                                                                                    • +1
                                                                                      Вы линуксоид? А то у меня линукс, и такие же впечатления. Когда-то давно потратил денёк-другой, чтобы найти правильных лифтёров, дворников и прочих специалистов, и с тех пор про это и не вспоминаю.
                                                                                    • +4
                                                                                      Каждому свое, кому то и семерка мерседес.

                                                                                      Конечно. Только тут у каждого свое видение, какая ОС — мерседес, а какая — «жигули».
                                                                                    • 0
                                                                                      Стоп. Это я только что про linux прочитал? А что за систему я тогда пытался сделать своей основной раза три в течение 2-х недель, но потом каждый раз понимал, что вместо работы танцую с бубном?
                                                                                      Знакомый опыт. У меня была похожая ситуация, только забавней: я две недели сидел на GNU/Linux, матерно ругался, говорил «Никогда больше не запущу», и уходил на Win7. Затем итерация повторялась, но уже с виндой — я вспоминал удобный файловый менеджер, адекватный шелл (я так и не смог найти под винду замены), матерился, и уходил обратно.

                                                                                      Это повторялось, наверное, несколько месяцев, пока Win7 у меня не сломалась. Более того, когда я пытался ее переустановить, установщик падал с BDOS. GNU/Linux тем временем работал, хотя и со странными глюками. Месяца полтора спустя у меня… навернулся винчестер! Мне до сих пор невдомек, как так вышло, что винда и установщик столь тонко это прочувствовали.

                                                                                      Как бы то ни было, при малом кол-ве знаний, GNU/Linux действительно может раздражать. Зато если хорошо в ней шарить, можно для разработки найти множество плюсов — это и /proc/, и bash, и тайловый оконный менеджер, и намного лучше продуманное АПИ, и установка подручных утилит в одну команду, многое другое… Честно, у меня на работе сейчас очень аккуратно настроенное окружение, и когда я кому-нибудь под виндой пытаюсь помогать, это довольно скоро вызывает раздражение.

                                                                                      Кстати заблуждение, что GNU/Linux чисто терминальный — как раз таки работа с мышью там намного лучше продумана. Это и первичный буфер обмена, и возможность ускорить указатель мыши до каких угодно скоростей при помощи Coordinate Transformation Matrix, и возможность выделять текст на MsgBox'ах — не помню каких, кажется KDE'шных…
                                                                                      • +2
                                                                                        удобный файловый менеджер, адекватный шелл

                                                                                        Total Commander, PowerShell + ConEmu
                                                                                        • 0
                                                                                          Это же давно было (с точки зрения моего опыта это было чуть ли не в детстве, хотя физически я тогда уже с армии вернулся). Сейчас я вижу у коллег на работе TotalCommander, и понимаю, что он неплох. Но на тот момент я его пользовал лишь пару раз, и меня совершенно отталкивал этот полу-текстовый интерфейс, это была как раз пора увлечения всякими спецэффектами вроде трясущихся, или сгорающих окон и прочего. Я использовал Dolphin, и пытался как-то найти аналог под винду — считайте TotalCommander, только с рюшечками; сие кончилось фэйлом.

                                                                                          Про ConEmu я тогда просто не знал, найти так же не смог (я тогда плохо знал английский, и гуглил только в русскоязычном интернете, что сильно ограничивало круг поиска).
                                                                                          • –1
                                                                                            «Как бы то ни было, при малом кол-ве знаний, Windows действительно может раздражать.»
                                                                                            • 0
                                                                                              Если это была подколка, то мимо. Во время описанных метаний, я приблизительно одинаково знал обе системы. Просто под GNU/Linux часть каких-то пакетов, как тот же Dolphin, была предустановлена. Кроме того, гуглить по русско-язычному инету по «Linux спецэффекты» было проще, чем «замена оболочки терминала windows» (по моим воспоминаниям даже хуже, мне тогда довольно сложно было на русском подобрать верный запрос).
                                                                                              • –1
                                                                                                ну мимо так мимо. По мне так неумение гуглить оправдание так себе.
                                                                                                • 0
                                                                                                  Так можно сказать про что угодно. И это было давно.
                                                                                          • +1
                                                                                            FAR с плагинами опять же.
                                                                                      • +1
                                                                                        А что касается дров на видяху — давно уже никаких проблем.
                                                                                        Ух ты, гибридная графика наконец заработала как положено? Сама нативно переключается? И не надо больше перебирать версии драйверов под Bamblebee под конкретную видеокарту, а сразу можно ставить «current» версию и не париться?

                                                                                        Отлично! Пойду своему ноуту это всё расскажу и снесу с него наконец-то весь этот тонконастроенный драйверный зоопарк. И заживу спокойно.
                                                                                        • 0
                                                                                          Вы описываете проблемы, характерные для ядер 2.х серии. В 3.х версиях уже давно исправили. Автоматом не переключается, по дефолту всегда используется интегрированная, но если вам надо использовать высокопроизводительную, можно и ручками переключить.

                                                                                          И да, это я про current.
                                                                                          • 0
                                                                                            Странно. У меня это наблюдается и на 3.х. Надо кстати до 4.х обновиться, может изменилось чего.

                                                                                            По дефолту да, используется интегрированная но дискретная запускается параллельно и активно греется/кушает батарейку, хотя и не используется. Приходится ставить Bamblebee, чтобы хотя бы автоматически выключать дискретную. При этом ещё прошлой зимой пришлось скатиться с current на фиксированную версию (331, вроде), ибо на current всё крашилось при попытке запуститься на дискретной графике.

                                                                                            Об автоматическом переключении можно только мечтать.
                                                                                            • 0
                                                                                              Может зависит от чипа? У меня 740М — все отлично.
                                                                                              • 0
                                                                                                У меня 750М. С драйверами — может быть. Просто настроил уже один раз и не хочется снова в это лезть и снова вставать на current.
                                                                                                А проблемы с тем что дискретная графика не отключается, хотя и не используется, были и на других чипах.
                                                                                        • –4
                                                                                          ~Порошок~ Школота, уходи.
                                                                                          • +5
                                                                                            А что касается дров на видяху — давно уже никаких проблем.

                                                                                            Я слышу это последние лет 10, и каждый раз удивляюсь настойчивости)
                                                                                    • 0
                                                                                      Клёво. А все остальные 99% пользователей, которые не разработчики?
                                                                                      • 0
                                                                                        Тоньше надо быть, товарищ, тоньше.
                                                                                      • 0
                                                                                        Я нуждаюсь.
                                                                                        Чтобы можно было перейти на другую платформу безболезненно.
                                                                                        Чтобы можно было свободно переключаться между платформами при разработке того же кроссплатформенного софта.
                                                                                        Вот например разработчиков evernote ну никак не убедить в необходимости linux-клиента, уже который год люди в соответствующей теме пытаются:)
                                                                                        • –1
                                                                                          Чтобы можно было свободно переключаться между платформами при разработке того же кроссплатформенного софта.
                                                                                          Кроссплатформенный софт нужен, чтобы разрабатывать кроссплатформенный софт? :)

                                                                                          Вот ведь. А evernote живёт и здравствует. Кстати, есть веб-версия. Кросс, мать её, платформенная :) Чойта пользователи хотят десктопную-то?
                                                                                        • +1
                                                                                          Мне бы хотелось, чтобы мой выбор платформы не зависил от доступного софта. Мечты, мечты
                                                                                          • +2
                                                                                            И приходится в очередной раз выбирать Windows, потому что нужного мне софта под другими OS нет.
                                                                                        • 0
                                                                                          Ну как «необходимость»? Я пытаюсь представить приложения, которые есть у меня на десктопе, и которым была бы полезна мобильная версия. Могу только почтовый клиент, мессенджер и броузер назвать. И из бизнес-приложений CRM, впрочем, это и так веб. Всё остальное, будь-то инструменты разработчика, игрушки, офисные приложения, всякие домашние учётные штуки, я этим никогда не буду пользоваться на смартфоне/планшете, просто потому что там управление для этого не предназначено.
                                                                                          Можно, конечно, понятие кроссплатформенности трактовать по-старинке, как кроссплатформенность между Windows, Linux и МакОС, но как показывает многолетняя практика, это уж точно «приятная фича» у некоторого софта, но никак не необходимость.
                                                                                          • +1
                                                                                            Клиент к системе учета финансов и платежей, клиент к системе управления проектами, клиент к системе видеонаблюдения (веб-версия убога до неприличия) и еще несколько приложений, которых очень не хватает в дороге или на встрече. И из-за которых приходися кроме планшета с собой в рюкзаке таскать ноут. Планшет под винду нужной мне производительности с учетом кризиса и курса валют дороговат.
                                                                                        • +22
                                                                                          Сразу вспомнилось:
                                                                                          Не сидят «В Контактах», в онлайнах,
                                                                                          Они вкалывают на комбайнах.
                                                                                          • +1
                                                                                            Ну если без шуток это ещё один огромнейший пласт софта, который должен работать без интернета. Ну т.е. софт для управления оборудованием и прочее прочее
                                                                                            .
                                                                                          • +6
                                                                                            Можете ли вы рассчитывать на такую же гарантию у веб-сайта?

                                                                                            Да, мой личный справочник на dokuwiki и для меня доступен всегда )

                                                                                            А если серьезно, вы забыли еще один крайне важный пункт, благодаря которому миллионы людей и организаций выбирают десктопные решения: их можно скачать с торрентов.
                                                                                            • 0
                                                                                              А то мобильные приложения нельзя будто. Это не плюс десктопности\мобильности приложения.
                                                                                              • +1
                                                                                                В статье сравниваются web/десктоп приложения.
                                                                                            • +23
                                                                                              Лично я поддерживаю автора, молодец. Кстати думаю что половина здесь присутствующих сидит в том самом десктопном приложении под общим именем «браузер» под управлением той самой винды.
                                                                                              • +7
                                                                                                В соседнем бложике разработчики десктопного приложения «вивальди» сидят, и регулярно отчитываются об успехах.
                                                                                              • +10
                                                                                                Я тоже поддержу автора, и еще попрошу его, как и любого другого разработчика, писать десктопный софт с возможностью запуска с теми самыми ограниченными правами. Прям вот вообще идеально tangro попал с этим постом.
                                                                                                • +4
                                                                                                  Горячо поддерживаю. 2015-й год на дворе, а многие разработчики до сих пор пишут, как под Windows 98.
                                                                                                  • 0
                                                                                                    Хм, а подскажите с какими именно приложениями у вас проблемы ибо у меня если что-то просит админ прав то им это действительно надо (speedfan, process-hacker или что-то подобное). Да и даже старые приложения которым, например, нужно портабельно складывать данные рядом с бинарником или в другое место, куда для записи прав не хватает, спокойно работают без админ прав или ручного прописывания разрешений ибо ОС замечает кривое поведение у старого софта и сама складывает, а в последствии и читает, данные в папку к пользователю %LOCALAPPDATA%\VirtualStore\
                                                                                                    • 0
                                                                                                      Многие клиент-банки, системы сдачи и проверки финансовых отчетов и тому подобный софт.
                                                                                                      • +7
                                                                                                        Их пишет отдельная когорта специальных программистов, мне всего было интересно откуда их берут :)
                                                                                                        • +4
                                                                                                          Неправильная постановка вопрос — правильней спрашивать куда их не берут. Как правило там низкая зарплата и/или плохие условия работы.

                                                                                                          В итоге их пишут те, кого не берут в более качественные проекты.

                                                                                                          Иными словами — вопрос к менеджерам которые экономят на их разработке.
                                                                                                          • 0
                                                                                                            Эх, такая хорошая цитата на Баше была лет 7 назад — не могу найти сейчас.
                                                                                                            В-кратце, суть в том, что специально отобранных детей с задержками развития с младых лет кормят наркотиками, держат в пещере и подвергают изощренным методикам переноса рук на задницу.
                                                                                                            И только долгих лет такой подготовки человек считается подходящим для разработки клиент-банков.
                                                                                                          • +1
                                                                                                            А по делу, часто это просто легаси код, который продолжают поддерживать в изначальном виде, что бы была совместимость с ранее выпущенным.
                                                                                                      • +2
                                                                                                        Да что там оправдываться, собственно сам Chrome и есть десктопное приложение :)
                                                                                                        • +1
                                                                                                          Вот только оно ой как кроссплатформенное.
                                                                                                        • +34


                                                                                                          И никакого веба! :)
                                                                                                          </irony>
                                                                                                        • +6
                                                                                                          Больше скажу: не только десктоп-фреймворки устаканились, но и мнение о десктоп-разработке автора совпадает с моим на 100%.
                                                                                                          • 0
                                                                                                            Смотря что иметь ввиду под термином «устаканились». Если на том же .net возникнет потребность написать кросс-платформенное приложение, то в плане UI пока тот ещё зоопарк.
                                                                                                            • 0
                                                                                                              Всё равно они гораздо более устаканившиеся, на C++ например (с wxWidgets или с Qt) код кроссплатформенный вполне из коробки и никакого разделения не требуется… ну почти, но это уже не с UI связано, а, скорее, с особенностями ОС в глубине :)
                                                                                                              • +2
                                                                                                                Устаканилось тут еще в том плане, что софт разработанный на инстурментах 5-6 летней давности не работает хуже соврменного. Все технологии уже отработаны годами. А тот же Nodejs например до сих пор не может выйти из нулевой ветки, хотя используют его многие.
                                                                                                                • –1
                                                                                                                  Nodejs например до сих пор не может выйти из нулевой ветки
                                                                                                                  Вообще-то Node.js v4.0.0 вышел ещё 8 сентября, обновляйтеся.
                                                                                                                • 0
                                                                                                                  А зачем писать на .net кроссплатформенное приложение?
                                                                                                                  • 0
                                                                                                                    — уже есть знания net, не надо тратить время на изучение другого фреймворка
                                                                                                                    — нравится net и C# хочется на нем и дальше писать
                                                                                                                    • +2
                                                                                                                      Все это прекрасно, но почти у всех кроссплатформенных технологий есть предел, после которого начинаются костыли.
                                                                                                                      Я много лет программировал на Delphi, и это действительно быстрый и удобный инструмент для своих задач.
                                                                                                                      Когда встала необходимость писать кроссплатформенные десктопные приложения, долго экспериментировали с Lazarus и FreePascal, обходя многочисленные баги и грабли. Потом махнул рукой и засел за С++ и Qt. И знаете, довольно быстро полюбил и этот инструмент. Теперь уже Delphi казался игрушечным, как из детства.
                                                                                                                      Потом пришел черед Мобайла, тут вроде Qt умел собираться под Андроид, но в реальной практике оказалось что это самые настоящие костыли по сравнению с нативной разработкой на Java+ADT. И сел и разобрался, и сделал пару проектов под Андроид. Мастером конечно не стал, но свободно ориентируюсь теперь и в этом.
                                                                                                                      А сейчас вот нужно сделать веб-решение. Теперь уже сразу засел за PHP, и с накопленным бэкграундом это не составило вообще никаких проблем. PHP конечно одиозный инструмент, но под веб заточен идеально.
                                                                                                                      Глянув назад, можно наверное было ВСЁ это сделать на плюсах и даже на Delphi. Но какой ценой? И с каким результатом?
                                                                                                                      Мое мнение — каждой задаче свой инструмент. Проще свои мозги прокачать, чем заточить технологию под непредусмотренную для нее задачу. И опыта больше.
                                                                                                                      • +2
                                                                                                                        Вы пишете о реальном положении дел, а я писал о желаемом.

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

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

                                                                                                                        Проще свои мозги прокачать, чем заточить технологию под непредусмотренную для нее задачу.


                                                                                                                        Обратите внимание на то что время и силы на изучение кучи технологий под разные платформы придется каждому разработчику прикладных приложений.

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

                                                                                                                        И такой подход экономит просто огромное количество человеческих сил и средств, которые можно было бы пустить на написание прикладных программ.

                                                                                                                        Этот тот же самый DRY — только на более высоком уровне, но он ничем не отличается от банального вынесения стандартных функций в стандартные библиотеки языка и фреймворка. Ну или от создания языков высокого уровня.

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

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

                                                                                                                        А необходимость изучать отдельный язык и отдельный фреймворк для каждой платформы — это в принципе аналого самостоятельному изобретению стандартных алгоритмов и функций из библиотек.

                                                                                                                        Глянув назад, можно наверное было ВСЁ это сделать на плюсах и даже на Delphi.


                                                                                                                        Плюсы и php это все-таки технологии разного уровня. Как и плюсы с ассемблером.

                                                                                                                        А вот разница между .net, java, php и javascript по большому счету историческая и косметическая.

                                                                                                                        Чем принципиально будет отличаться приложение на Java от приложения на .net? Чем будет принципиально отличаться сайт на php от сайта на C#?

                                                                                                                        Что характерно даже развитие этих языков идет в сторону сближения — в php добавляют более строгую типизацию, в JavaScript классы и типизацию, в C# как имитацию слабой типизации к которой привыкли пхп-ешники.

                                                                                                                        Я понимаю разницу между программирование на C например и на .Net — но вот принципиальная необходимость изучать Php ли Java для того что можно было бы сделать на C# мне непонятна.

                                                                                                                        Опять же с точки зрения желаемого положения вещей, реальность конечно намного печальней.
                                                                                                                        • 0
                                                                                                                          Но если говорить о желаемом положении дел — то как мне кажется было бы лучше если бы кроссплатформенные приложения можно было бы писать без необходимости изучать огромный зоопарк разнообразных технологий.
                                                                                                                          Абсолютно с вами согласен, это было бы здорово. Причем, самое любопытное, современные языки (именно языки, не фреймворки) в принципе, могли бы использоваться в совершенно разных задачах (веб, десктоп, контроллеры и т.д.). Проблема вся именно в способе их использования, определенном фреймворками, компиляторами и интерпретаторами, как мне кажется.
                                                                                                                          И вторая проблема в том, что зоопарк языков только увеличивается, кто в этом виноват и что делать — совершенно непонятно.
                                                                                                                          • +1
                                                                                                                            Виновата политика и что с ней делать — слишком глобальный вопрос.

                                                                                                                            Но я бы разделял даже не языки, а скорее общую идеологию что-ли.

                                                                                                                            Скажем наличие автоматического управления памятью в виде сборщика мусора как мне кажется гораздо более фундаментальное отличие C# (Java) от С чем какие-то конкретные особенности синтаксиса языка. Сюда же можно отнести и слабую типизацию. Хотя сама по себе идея «много-много синтаксического сахара который избавляет от необходимости думать о более низкоуровневых деталях» тоже во многом идеологическая вещь — но не уверен, так как не пишу на C/C++.
                                                                                                              • +3
                                                                                                                А разве десктопные приложения утратили свою актуальность? Собственно, как вы правильно указали, мы ими пользуемся постоянно. Помимо браузеров еще большинство инструментов разработки все таки остаются десктопными и/или консольными. На мой взгляд все естественно. На этапе становления технологии многие процессы еще не отработаны и по ним ведется активная дискуссия, а рабочей технологией надо просто пользоваться: создавать, приностить пользу.
                                                                                                                Если инструмент позволяет быстро и эффективно решить поставленную задачу, то он не считается устаревшим.
                                                                                                                • 0
                                                                                                                  А как на счёт обновлений? Тут как говорится пользователь может и забыть поставить или вообще проигнорировать обновление.
                                                                                                                  • +5
                                                                                                                    И это заставляет разработчика ответственней относиться к каждому из обновлений, тщательно его тестируя, а не следовать принципу «херак-херак и в продакшен»
                                                                                                                    • 0
                                                                                                                      Ага, пользователь его просто игноритует
                                                                                                                      • +3
                                                                                                                        А что в этом плохого?
                                                                                                                        • +1
                                                                                                                          Ну например обновление связанное с безопасностью?
                                                                                                                          • +7
                                                                                                                            А например обновление, свзяанное с тем что дизайнер Вася уволился и пришел дизайнер Петя и сказал «да увас тут полный отстой с UX, я сейчас покажу как надо», или директор по маркетингу решил, что пользователи заскучают, если их не радовать новыми картинками каждый месяц — и на следующий день пользователи в бессильной ярости трясут кулаками, а сделать ничего не могут — откатиться то нельзя, это не десктоп.