DreamSpark Academy
Главная
Новости
Учебные курсы
Технологии
Продукты
Вузы
Студенты-партнёры
Поиск
Веб-программирование
Веб-программирование - это курс, в котором изучаются принципы создания приложений для интернет. Интернет - это сложная клиент-серверная среда, в которой данные, программы или сервисы находятся на разбросанных по сети серверах, а пользователи со своих компьютеров получают доступ к этим ресурсам с помощью веб-браузеров. Поэтому веб-программирование обычно рассматривает технологии написания программ как для серверов (для обработки данных на стороне сервера: ASP.NET), так и программ, работающих в браузере (Javascript, AJAX) и так называемых богатых интернет-приложений RIA (технология Silverlight). При этом также важно понимать базовые протоколы обмена между сервером и клиентом - например, язык разметки HTML, понятие URL и т.д.
Основы веб-программирования: HTML
Часто считается, что веб-программирование - это умение создавать веб-страницы. Для этого нужно иметь представление о языке разметки HTML. Хотя многие продукты позволяют вам создавать страницы и сайты без знания HTML - например, можно сохранить любой документ Microsoft Word в HTML, либо использовать Expression Web (входит в
Microsoft Expression Studio
) для создания более красивых графических веб-сайтов по шаблону или "с нуля".
Основные ресурсы по теме: веб-школа (уроки 1 и 2), курсы Intuit.ru по HTML (
этот
и
этот
).
Серверное программирование: ASP.NET WebForms и ASP.NET MVC
Основная задача технологий серверного программирования - в ответ на запросы пользователей формировать веб-страницы в формате HTML, возможно, используя какие-то хранящиеся на сервере данные (обычно, для хранения данных используют базы данных, например, на основе СУБД
Microsoft SQL Server
)
В настоящее время существуют две технологии серверного программирования от Майкрософт: ASP.NET WebForms (то, что раньше называлось просто ASP.NET) и ASP.NET MVC (Model-View-Controller).
ASP.NET WebForms
проще для изучения, и позволяет создавать веб-приложения примерно так же, как и оконные приложения Windows Forms - путём перетаскивания объектов в визуальном редакторе и программирования обработчиков событий. При этом программист теоретически не обязан понимать тонкости HTML и обмена между сервером и клиентом - все эти сложности берёт на себя инфраструктура ASP.NET. Изучить ASP.NET можно с помощью
видео-курса Гайдара Магданурова
, а более тонкие моменты посмотреть в
технических докладах на TechDays.ru
.
ASP.NET MVC
, с другой стороны, открывает программисту более тонкий контроль над происходящим и над генерацией HTML-страницы. При этом используется логически стройная архитектура Model-View-Controller, в которой чётко выделяются модель данных (обычно реализуемая на основе
Entity Framework
или
LINQ
), представление данных (View) и логика управления (Controller), переводящая URL запроса в определённые действия. Похожая архитектура используется и других средствах веб-программирования: например,
Ruby-on-Rails
. Для изучения ASP.NET MVC рекомендуем
курс Гайдара Магданурова
.
Программирование на стороне клиента: JavaScript, AJAX
Некоторые задачи, в которых надо быстро реагировать на действия пользователя, неудобно решать с помощью серверного программирования - например, когда необходимо проверить правильность заполненных полей формы. Для этого внутри браузера также функционирует язык программирования
JavaScript
, на котором можно писать приложения, выполняемые на компьютере пользователя.
Важной разновидностью клиентского программирования является технология
AJAX
, позволяющая работать с веб-сайтом без перезагрузки страниц. В этой технологии, при совершении пользователем определённых действий, Javascript-код формирует запрос к серверу и загружает только часть страницы или необходимые данные, после чего они динамически вставляются в текущий документ.
Для изучение JavaScript и AJAX рекомендуем курс
основы программирования на JavaScript
, или более простой
практикум
.
Богатые интернет-приложения, RIA
В последнее время всё более популярными становятся так называемые RIA -
Rich Internet Applications
. Эти приложения обычно запускаются внутри браузера (хотя могут запускаться и как отдельные, внебраузерные, приложения), но в специальной среде:
Silverlight
, Adobe Flash и др. Rich Internet Applications позволяют создавать значительно более красивые и удобные интерфейсы, по сравнению с классическими или даже AJAX-приложениями. В качестве примера, посмотрите на
Silverlight Airlines
, или
галерею Silverlight-приложений
.
Основные сценарии, для которых удобно использовать RIA:
Построение наглядных интерфейсов деловых приложений
Работа с Media - просмотр видео, аудио и т.д. Для этого в Silverlight есть технология
Smooth Streaming
Построение инновационных интерфейсов на основе технологии
Deep Zoom
Технология Silverlight хорошо изложена в
видео-курсе Михаила Черномордикова
, или в книге
Л.Морони
.
Управление контентом и построение корпоративных порталов
Отдельный вопрос - это построение сайтов на основе существующих
систем управления контентом
(Content Management Systems, CMS). В этом случае базового программирования для создания сайта не требуется - достаточно установить CMS, сконфигурировать структуру сайта и наполнить его содержимым с помощью визуального редактора. Для более сложных задач CMS допускают расширения с помощью программируемых компонентов.
Подробнее про системы управления контентом
.
Для построениения более сложных систем, обеспечивающих взаимодействие пользователей через интернет в рамках интранет-портала или внешнего сайта, может использоваться технология
Sharepoint
. В простейшем случае Sharepoint позволяет в интерактивном режиме создавать сайты для коллективной работы, обмена документами, планирования событий - при этом сайт легко интегрируется со всеми продуктами Microsoft Office. Sharepoint может также выступать как программная среда для построения корпоративных порталов любой сложности.
Подробнее про Sharepoint
.
Курсы
Компьютерная графика
Методы и средства мультимедиа
Технологии
ASP.NET
ASP.NET MVC
Silverlight
Сценарии
Написать приложение для Windows
Настроить Web-сервер
Создать Web-сайт
Продукты
Expression Studio
Internet Information Services
SharePoint
Visual Studio
Windows Live
Windows Server