Веб-разработчики играют основную роль в создании веб-приложений и сайтов. Современный веб-разработчик владеет обширными знаниями технологий и методологий веб-разработки, а также имеет широкие навыки использования различных средств веб-разработки, знает несколько языков программирования, разметки и стилизации, с помощью которых создаются мощные, современные, безопасные веб-приложения и сайты.
Программа разделена на модули, которые являются определенного рода этапами роста профессионализма веб-разработчика. Все модули охватывают большой спектр возможностей использования языков разметки и стилизации HTML5 и CSS 3, языков веб‑программирования PHP и JavaScript, баз данных MySQL и множества библиотек и фреймворков основанных на этих языках. Правильное практическое применение указанных инструментов на реальных проектах, детальный обзор баз данных и их возможностей, а так же комплексная безопасность приложений будет изучаться по мере продвижения по модулям. Кроме того, учащиеся практикуют работу в команде с помощью механизмов контроля версий.
Модули
HTML + CSS (основной)
Основы верстки веб-сайтов с помощью языков HTML и CSS. Частично задействованы новые возможности HTML5 и CSS 3, но не требующие специальных углубленных навыков верстки. По мере выполнения заданий, учащийся знакомится со структурой, технологиями и стандартами Всемирной паутины (доменные имена, браузеры, принципы заимодействия схемы клиент-сервер). В результате, учащийся сможет верстать веб-станицы на базовом уровне.
HTML + CSS (оптимальный)
Углубленное изучение возможностей HTML5 и CSS 3 для верстки веб-сайтов и веб-приложений. Изучаются различные подходы к организации кода, адаптивная верстка, работа с векторными элементами, современные средства создания гибких, „пуленепробиваемых“ каркасов веб-приложений, анимация, трансформация, переходы состояний и многое другое. В результате, учащийся станет профессиональным верстальщиком и уже сможет начать зарабатывать на заказах по верстке.
JavaScript (основной)
Начало изучения клиентского скриптового языка программирования JavaScript для добавления динамики на сайт или в веб-приложение. Принципы программирования: переменные, типы данных, основные операторы, циклы, условия, функции, объекты, методы объектов. Знакомство с DOM и BOM, события, колбэки, встроенные объекты и их методы, работа с CSS.
JavaScript (оптимальный) + jQuery (основной)
Продолжение изучения возможностей JavaScript и знакомство с библиотекой jQuery. В JavaScript более углубленно изучаются встренные функции/методы, расширяются знания в использовании конструкций языка: замыкания, колбэки, области видимости, методы объектов, основы ООП, регулярные выражения. Осваиваются принципы работы с библиотекой jQuery: селекторы, манипуляция элементами, базовые эффекты, работа с CSS, события, работа с DOM.
JavaScript + jQuery (профессиональный)
Обзор методов проектирования приложения. Подробное изучение объектно-ориентированного программирования. Работа с удаленными данными, обработка XML, JSON. Работа с локальным хранилищем данных. Создание архитектуры проекта на основе событий и использованием асинхронной подгрузки данных. Создание REST приложений. Принципы создания собственных API. Написание собственных JS-прототипов и плагинов для jQuery. Использование инструментов тестирования веб-приложений.
Автоматизация фронтенда
Ускорение и систематизация разработки интерфейсов сайтов и веб-приложений с помощью инструментов автоматизации: менеджеры пакетов Bower и npm, систем сборки Grunt и Gulp, препроцессоров и шаблонизаторов Jade/Haml, Sass/Less/Stylus, Handlebars/Mustache (препроцессоры можно выбрать).
Node.js
*nix (основной)
Основы Unix-like систем (Linux, OS X), работа в коммандной строке, работа с пользователями, файловой системой, правами доступа, установка и конфигурация веб-сервера, установка и настройка PHP, Node.js, Ruby, MySQL.
*nix (оптимальный)
Главная задача предмета научить работать в операционных системах, ориентированных на создание веб-серверов, обучить администрированию данных операционных систем, обеспечению их безопасности, а также умению работать в команде и ответственно вести документацию проекта.
Основные темы предмета:
- детальное изучение работы протоколов, браузеров, веб-серверов, веб-приложений и систем управления базами данных, их установка и конфигурирование;
- обзор работы UNIX-like операционных систем, их установка и настройка;
- изучение командных языков программирования и настройка прав доступа пользователей;
- разработка веб-приложений в команде, системы контроля версий;
- обслуживание, выполнение заданий по расписанию, разработка панели администратора проекта и документирование кода.
PHP (основной)
Основные возможности серверного скриптового языка программирования PHP: конструкции языка, структуры данных, работа с файлами, основные встроенные функции. В предмет включено практическое создание типового веб-сайта и небольшого веб-приложения.
PHP (оптимальный)
Особое внимание уделено ООП (Объектно-ориентированное программирование). Осваивается работа с XML и JSON, графикой (библиотеки GD и ImageMagick), удаленными ресурсами. Практикуется создание приложения с использованием сессий, работа с датами и временными зонами, суперглобальными массивами, c URL. Защита от взлома XSS. Установка и настройка готового решения для локального веб-сервера (WAMP/LAMP/MAMP).
MySQL (основной)
MySQL — самая популярная свободная реляционная система управления базами данных, ориентированная на малые и средние приложения.
Учащийся знакомится с системой управления базами данных (СУБД) MySQL и изучает язык запросов SQL. Обзор возможностей, проектирование баз данных, создание запросов от простого пользовательского уровня до сложных многоуровневых запросов и их оптимизация для веб-проектов с высокой нагрузкой и сложной структурой данных.
PHP + MySQL (профессиональный)
Профессиональное использование PHP для взаимодействия с базами данных MySQL. Это типичное для веб-приложений и сайтов взаимодействие, большинство сайтов работают по такой схеме.
На модуле изучаются функции PHP для работы с базами данных MySQL и подобных. Совершенствуются практические навыки разработки архитектуры веб-проекта с учетом взаимодействия с базами данных. Также рассматривается безопасность веб-приложений при работе с базами данных — защита от Injections, ботов, спаммеров и прочие вопросы безопасности.
PHP Frameworks
PHP фреймворки — это каркасы, предназначенные для создания динамических веб-сайтов, веб-приложений, сервисов или ресурсов, на основе языка программирования PHP. Фреймворки упрощают разработку и избавляют от необходимости написания рутинного кода.
Учащемуся предлагается освоить один из фреймворков Laravel, Symfony или CodeIgniter, которые основаны на паттерне проектирования MVC (Model, View, Controller) и упрощают доступ к базам данных, разработку интерфейса, и также уменьшают дублирование кода. Рассматриваются теоретические и практические вопросы и задачи разработки веб-приложений средней сложности на основе выбранного фреймворка.
Формат обучения
Занятия делятся на лекции и консультации. Каждый учащийся вправе завершить изучение модуля раньше других и перейти на следующий модуль. В рамках каждого модуля есть практическое задание, которое выполняется параллельно с посещением лекций. Для завершения модуля неоходимо самостоятельно выполнить итоговую работу.
Сертификат
После завершения обучения по запросу студента вручается сертификат Webskola, в котором указаны пройденные модули.