2009-07-25 3 views
3

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

  1. У меня 7 лет опыта работы на C++ (большинство MFC), 1 год опыта работы на C# .NET и 2 года Java.
  2. Я мало что знаю о веб-приложении, что я делал и делаю, это настольные приложения для Windows.

Я начал выполнять некоторые (второстепенные) проекты в течение последних полугода и использует C# в основном, поскольку он более «быстрый», чем MFC. Но похоже, что на этом рынке больше веб-проектов, чем проектов на рабочем столе. И я не чувствую себя хорошо, пока я не знаю веб-разработки.

Итак, нужно ли мне прикоснуться к новому веб-файлу для меня или просто сосредоточиться на настольном приложении, но узнать больше, например, Python или Frameworks/Libraries, такие как Qt или Boost?

ответ

6

Чувство меня, что все больше людей/компаний перемещают свои проекты в Интернете. Например, моя компания добавила множество веб-приложений, поскольку я был там. Другим ярким примером этого является Microsoft (да, даже они), предоставляющая веб-версию Office, своего флагманского продукта.

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

EDIT: О, и вы ничего не теряете, осознавая «настольные» процессы. Возможно, вы выполняете больше программ на стороне сервера, даже если это веб-интерфейс. Другими словами, не больно продолжать расширять свои знания на этой арене.

3

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

Поскольку у вас есть опыт работы с C#, вы можете рассмотреть возможность работы с ASP.NET. Или, если вы чувствуете необходимость изучать новую технологию, тогда, возможно, рассмотрите структуру Ruby on Rails.

3

Я бы действительно предложил изучить веб-разработки - как вы уже сказали, есть еще много проектов веб-приложений, и вы уже знаете C# .NET и Java, и оба этих языка имеют действительно хорошие API/рамки для веб-разработки , ASP.NET для C# и Java Servlets/JSP.

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

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

0

Я рекомендую изучить рамку Lift.Он так же прост в использовании, как Rails, и основан на статически типизированном языке для JVM, Scala. С точки зрения вашего фона, Scala должен быть средним, чтобы легко учиться, и вы с большей вероятностью будете чувствовать себя комфортно с ним, чем с динамическим языком.

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

2

Microsoft Office 2010 будет иметь online version. Для меня это момент для веб-приложений. Приложения Office - это важный экзамен лакмусовой бумажки, как только вы можете делать Office в Интернете (что было в случае с документами Google в течение некоторого времени, но Office имеет важное символическое значение), вы можете делать большинство вещей, которые беспокоят большинство пользователей.

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

Я бы очень хотел, чтобы вы прочитали How Microsoft Lost the API War, если вы еще этого не сделали. Одна из особенностей, особенно удивительная в этой статье, заключается в том, что она была написана в 2004 году.

1

Я честно считаю, что, возможно, за исключением ОС и браузеров, все будет веб-приложение в течение следующих 10 лет. Сказав это, позвольте мне пояснить, что все, что я имею в виду, все, что a) подразумевает какой-то пользовательский интерфейс и b), может быть гарантировано безопасным.

Пользовательские приложения всегда в какой-то момент нуждаются в бэкэнд, которые на каком-то уровне требуют кода, который не соединяется с людьми и не выполняется через HTTP. Я всегда напоминаю себе, что такие вещи, как «кошка» в Unix, на самом деле являются программами, которые вызывается ОС, а не только функция, встроенная в ОС. MySQL не будет веб-приложением (насколько я знаю), но приложение, которое поддерживает веб-приложения. Мы можем дойти до того момента, когда эти приложения полностью развиваются через веб-интерфейс, записываются, проверяются, загружаются и вызывают все через браузер, но на каком-то уровне он все еще работает за кулисами.

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

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

Это как Apple, объявление «Там есть приложение для этого». За исключением случаев, когда люди получают реальную картину, это не приложение, написанное для вашего iPhone, а URL. «Для этого есть сайт».

+0

Все? В том числе IDE, антивирусные программы, iTunes и т. Д. На мой взгляд, есть определенные приложения, которые не могут быть предоставлены браузером ... – mezoid

+0

iTunes = grooveshark, antivirus = Housecall, IDE = flash/flex + bespin. Я знаю, что они не идеальные примеры, но я говорил в ближайшие 10 лет. Я согласен с тем, что было бы сложно иметь веб-приложение, которое управляло бы постоянным монитором для чего-то вроде AV, но если все в сети, браузер может иметь тонкое приложение AV, которое обрабатывает безопасность, а затем вы запускаете Housecall (или следующая большая вещь), если вы заразитесь. И да, Housecall использует java, но я думаю, что это извиняется от моих идеологических идей. – Anthony

+0

Хммм ... у вас есть интересная перспектива Энтони. Думаю, следующие десять лет покажут нам, в каком направлении идут дела ...до тех пор, я не на 100% убежден, что настольные приложения исчезнут ... но я уверен, что они станут реже. – mezoid

Смежные вопросы