Задать вопрос
IGreench
@IGreench
Software Developer

Desktop или Web?

Всем привет!

Так случилось, что я имею опыт разработки ПО под Desktop (в основном, на C++ и Qt) и под Web (PHP, Javascript). Под Desktop я разрабатываю проекты в-основном для себя и для научных исследований. Под Web я научился разрабатывать, чтобы мог периодически брать заказы на фрилансе (Очень редко попадаются заказы под Desktop, которые я с радостью беру, если они соответствуют моим компетенциям).

Недавно преподаватель курса "Управление ИТ-проектами" пытался донести до нас одну мысль. Перефразирую, как понял:

Делать проекты надо под Web. Разрабатывать под Desktop сейчас есть смысл только специфичные проекты. Web версию проще сделать кроссплатформенной, исправить, обновить.

Преподаватель - директор по сопровождению и эксплуатации в Центре финансовых технологий, хороший специалист и очень классный мужик, поэтому спорить с ним не стал =)

Предположим, что я хочу стать Project Manager'ом компании, разрабатывающей корпоративное ПО. Но клиентская часть корпоративного софта мне видится, как приложение под Desktop.

Поэтому у меня возникли следующие вопросы:
  1. Правда ли, что лучше разрабатывать ПО под Web? Почему именно так? Где об этом можно почитать?
  2. Как понять, когда нужно делать Desktop приложение, а когда Web приложение?
  3. Как менее болезненно разработчику Desktop приложений переквалифицироваться под Web разработку? Мне, как С++ разработчику писать на PHP и Javascript, мягко говоря, неуютно. Сейчас посматриваю в сторону C#.

Извиняюсь за большой объём и некоторую сумбурность в формулировке вопроса, просто это тема меня очень беспокоит.

Заранее спасибо.
  • Вопрос задан
  • 15244 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 4
@nirvimel
Во-первых: Разработка под веб != PHP.
Во-вторых: Грамотного проджект менеджера он неграмотного отличает способность делать обоснованный выбор технологий для каждого проекта не по советам преподавателя какого-то курса (насколько бы уважаем он не был), а исходя из специфики задачи (главное!) и (иногда) из наличия/отсутствия разработчиков с соответствующей квалификацией или наличия/отсутствия соответствующей квалификации у разработчиков (или разработчика).
Да, есть такая тенденция, что десктор-приложения постепенно вытесняются веб-приложениями. И причины в основном кроются в, я бы сказал, "негибкости" десктор-разработчиков. Уцепившись за какую-то одну технологию (например .NET) они часто забывают, что их клиентское приложение - всего-лишь пользовательский интерфейс к бизнеслогике на сервере. Задача клиента - быть гибким, то есть не зависеть от окружения, в котором приложение запущено. Веб-приложения на 100% удовлетворяют этому требованию, они работают в любом (современном) браузере, под любой ОС, на любой мобильной/стационарной платформе и не требуют никакой предварительной подготовки среды (типа установки java, silverlight или adobe <очередная их платформа>). И только этим они побеждают. Для разработчиков по настоящему кроссплатформенных приложений (включая мобильные платформы), не завязанных на какую-то специфическую технологию (особенно проприетарную) и нетребовательных к среде исполнения, угроза со стороны наступающего веба - минимальная. Они еще долго будут спокойно сосуществовать рядом с веб-приложениями и ни один руководитель не упрекнет команду разработчиков в их выборе.
Ответ написан
На С# в веб делать тоже нечего.
Определять нужно веб-приложение или десктоп зависит от множества факторов:
1. Безопасность (дубль на десктопе спокойнее)
2. Доступность (evernote и без интернета можно открыть)
3. Сложность (фотошоп в вебе нормальный ещё не придумали как и 3D-редактор)

Я сам работаю на трёх ПК и конечно меня парит устанавливать нужное ПО на каждый из них, поэтому я обоими руками за веб-приложения.
Сейчас все кинулись делать мобильные приложения, но и на них мода пройдёт, непонятно зачем фитнес-приложение или приложение СМИ ставить себе на телефон ведь вести программу тренировок и читать новости я и в вебе могу.
Ответ написан
dimonchik2013
@dimonchik2013
non progredi est regredi
  • лучший в мире продукт по управлению проектами - Microsoft Project
  • любой офисный пакет (шо, гугл док? ну вставь туда формулы или сводные тыблицы)
  • все продукты Adobe
  • спец софт Trados, Promt, Autocad, Ansys, OCRы
  • софт для говнарей (типа finalCUt или от sony там что-то есть)
  • продукты 1С (заприте в конце квартала, а лучше - в конце года, бухгалтера и этого из Центра технологий, посмотрите, кто выживет)) )

НИ-КОГ-ДА не будут иметь ВЕБ-интерефейса, скорее, как роботы, будут работать без человека
однако это не отменяет сетевых-коммуникаций, которые через Vlan/VPN соединяются в разлчных офисах через

поэтому первый вопрос - не состоятелен

на второй - ответьте сами, перечитав список и написав такой же для Веб - приложений

а вот с третьим сложнее - дело в том, что на фрилансе найти работу, за которую хорошо платят (на буржуев) гораздо проще с ВЕБ технологиями. Субьективно - 90/10.

Если я правильно понял - Вы хорошо знакомы с продуктами Микрософт? Так и развивайтесь в этом направлении - MS SQL, по отзывам техлида, которому доверяю - лучшая СУБД которая только есть, офисные продукты (SharePoint etc.) прочно занимают свою нишу и требуют поддержки.

Если же очень хочется именно в Веб и тоже поближе к корпоративному - Java
Ответ написан
@Espleth
Правда ли, что лучше разрабатывать ПО под Web? Почему именно так? Где об этом можно почитать?

Правда ли, что вилка лучше ложки? Почему именно так? Где об этом можно почитать?

Как понять, когда нужно делать Desktop приложение, а когда Web приложение?

Многие приложения просто не смогут работать в вебе - это всякие системные утилиты, всякие тяжелые программы. Некоторые программы должны висеть в бекграунде довольно много времени. Например чаты или торрент-клиенты - такие не особо удобны в вебе.
Остальные приложения в большинстве своем могут вполне работать в вебе, но и для них частенько десктопные/мобильные клиенты могут быть крайне удобны.
Чтобы подробно расписать, какие приложения куда делать, это нужно слишком много времени потратить, это все должно быть на интуитивном уровне в подавляющем большинстве случаев.

Как менее болезненно разработчику Desktop приложений переквалифицироваться под Web разработку? Мне, как С++ разработчику писать на PHP и Javascript, мягко говоря, неуютно. Сейчас посматриваю в сторону C#.

Ну от JS убежать весьма проблемно будет, а вот от PHP - можно и даже нужно. Вариантов куда "бежать" - довольно много и они легко гуглятся, а что из них лучше - это уже скорее к вопросу о ложке и вилке и вообще не ко мне =)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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