2010-02-24 2 views
2

До сих пор работал с C# WinForms приложений и имел успех с ним .... Мой следующий проект будет основан веб-один в asp.net ...Переход от окна на основе развития на основе Web

Как я новичок, которого я хочу знать

  • Проблемы, связанные с перемещением Окно на основе веб-разработки?

  • В каких факторах я должен следить?

+2

Дубликат здесь: http://stackoverflow.com/questions/876440/ –

ответ

4

Большие вещи, что делает веб-разработки другой опыт для бывшего окна разработчика, вероятно, будет эти два:

  • Государственное управление: С помощью веб-приложение, ваш код живет только на сервере для очень небольшой отрезок времени во время запроса фактического пользователя. Затем он заканчивается. В разработке окон вы привыкли к тому, что ваши объекты живут все время, а ваше состояние просто «есть». Например, если вы загружаете данные в объект, этот объект находится именно там. Когда пользователь нажимает кнопку, которая фильтрует данные, все, что делает код, изменяет существующий объект, и это делается. Однако в веб-приложении объект существует только на мгновение. Поэтому, когда пользователь переходит к этой кнопке, вам нужно перестроить объект, затем отфильтровать его, а затем снова отправить результаты клиенту. Этот безгражданный дизайн веб-приложений является реальной проблемой и будет отображаться повсюду в вашем коде. Конечно, есть способы управлять государством, но это не всегда автоматически. Это само по себе заставляет веб-приложения программирования сильно отличаться от приложений Windows.

  • Клиент - это HTML/Javascript: браузеры раскрывают объектную модель, которая представляет страницу, и вы можете использовать javascript для взаимодействия с этой объектной моделью; но это одна из самых сложных и плохо организованных объектных моделей, когда-либо изобретенных человечеством. Просто получить ручку на различные объекты, что они делают, и их много причуд может занять много времени. Добавьте к этому огромное количество вещей, которые вы «можете» сделать с этим API, что вы не «должны» делать (либо из конвенции, либо из так называемых стандартов) делает это еще более увлекательным. Затем добавить к этому тот факт, что стандартные функции пользовательского интерфейса доступны для вас очень ограничены по сравнению с окнами UIs и вы в конечном итоге с большим количеством разочарования ...

Что касается вещей, чтобы следить за .. . Вау! Это большой список!

Я думаю, самое главное - убедиться, что вы проверяете свои страницы в нескольких браузерах. Слишком мало разработчиков просто «предполагают», что это будет работать во всех них. Я также советую вам НЕ выполнять свою первоначальную разработку с использованием IE.Я обнаружил, что если вы используете Chrome или Firefox и убедитесь, что он работает там первым; то он, скорее всего, тоже работает в IE ... но обратное неверно. IE по-прежнему имеет много обратной совместимости, что позволяет отображать вещи, которые просто не работают в другом месте.

2

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

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

Более «родной» способ создания веб-сайтов является следовать шаблону MVC. Что не сложнее, но это другое.

ASP.NET MVC, вероятно, лучший выбор, поскольку вы уже используете C# и Visual Studio. Но однажды в мышлении MVC вы можете легко переключиться на Django, Symfony или Ruby on Rails, если это необходимо.

2

Если у вас есть команда с вами, добро пожаловать в удивительный мир:

  • хостинг (IIS, и т.д.)
  • Веб Проектирование
  • CSS/HTML
  • Javascript
  • Страница жизненный цикл (когда делать что)
  • Тайм-ауты
  • Безопасность
  • Форма Handling

Хотя бизнес-логика/процесс одинаков, независимо от платформы разработки, есть много других аспектов, которые следует принимать во внимание при переходе на веб-разработки. Я действительно начал заниматься веб-программированием приложений, и я ЛЮБЛЮ возможность сделать быстрое приложение winforms.

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

Надеюсь, что это поможет.

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