Диссертация (1167217), страница 47
Текст из файла (страница 47)
В дополнение к тексту документации наофициальномсайтеweb2pyможнонайтибесплатныевидеоурокидляначинающих [web2py video course 2013].Мы рекомендуем web2py как инструмент разработки ОВС по несколькимпричинам. Во-первых, его можно загрузить с официального веб-сайта и сразуначать работать без отдельной установки веб-сервера. При запуске фреймворкапроисходит старт локального сервера и вывод в окно веб-браузера панелиуправления приложениями web2py, которая в свою очередь сама являетсяприложением web2py. Таким образом, весь процесс разработки можно проводитьна персональном компьютере без подключения к Интернету. Во-вторых, в панелиуправления можно нажатием одной кнопки создать полностью функционирующеешаблонное приложение, которое состоит только из одной содержательной вебстраницы, но при этом предусматривает учетные записи пользователей.
Всядальнейшая работа сведется к модификации этого шаблонного приложения. Втретьих, все приложения web2py по умолчанию поддерживают кодировку UTF-8,т. е. позволяют отображать текст на многих языках мира (включая восточные),что особенно важно для изучения иностранного языка.
В-четвертых, фреймворкизначально предусматривает распределение ролей среди зарегистрированныхпользователей, причем количество ролей ограничено только здравым смысломразработчика. В-пятых, web2py имеет встроенный мобильный интерфейс. Призапускеприложенияавтоматическиweb2pyвключается,снемобильноготребуяустройстваникакихэтотинтерфейснастроек.В-шестых,разработанные приложения можно бесплатно разместить в Интернете, хотя и с281некоторыми ограничениями [Pierro 2015: 568–570]. В-седьмых, фреймворк имеетвстроенный графический интерфейс работы с базами данных, что упрощаетработу с ними. И это далеко не все аргументы в пользу web2py как инструментаразработки ОВС.Комплектация фреймворка такова, что он позволяет создавать полноценныевеб-приложения без использования дополнительных внешних ресурсов.
web2pyуже содержит базы данных, стили оформления, библиотеку jQuery, средуразработки и анализатор ошибок. Структура его приложений строится по схемеModel−View−Controller (MVC, русск. «модель−представление−поведение»), гдеблок «модель» содержит файлы управления базами данных и меню приложения(файлы Python db.py и menu.py), блок «представление» – файлы веб-страниц(файлы HTML), а блок «поведение» – файл Python default.py, содержащийфункции для обработки событий веб-страниц на веб-сервере (каждой вебстранице должна соответствовать минимум одна функция) и файл appadmin.py,который нужно модифицировать только при необходимости правки интерфейсаадминистратора.
Дополнительно к блокам MVC web2py имеет блок файловязыковой поддержки, блок статических файлов (файлы CSS, JS и графическиефайлы), блок модулей, блок частных файлов и блок плагинов.Для создания элементарных приложений далеко не обязательно работать совсеми блоками, достаточно пользоваться только основными. Например, длядобавления одной чистой веб-страницы к шаблонному приложению нужносоздать эту веб-страницу в блоке «представление», добавить соответствующую ейфункцию Python в файл default.py и связать с ней главную веб-страницуприложения при помощи гиперссылки.Блочная схема MVC помогает структурировать файлы приложения, чтобыразработчику было удобнее работать с крупными проектами.
Панель управленияприложением принимает вид таблицы файлов, сгруппированных по блокам, свозможностью добавлять, удалять и редактировать файлы приложения, неприбегая к помощи внешних текстовых редакторов. Если приложение ужеустановлено на веб-сервере, то модифицировать его возможно с любого282устройства, имеющего подключение к Интернету, хотя намного удобнее этоделать на больших экранах персональных компьютеров. При этом на компьютерне нужно устанавливать никакого программного обеспечения, кроме веббраузера.При всей простоте фреймворка не следует забывать, что для того, чтобыразработать даже простое веб-приложение web2py, необходимы некоторые, пустьи минимальные, знания из области программирования.
Это отличает работу сweb2py от работы в LMS, где нужно только лишь научиться пользоватьсяконструктором. Однако, по нашему мнению, самостоятельно разработанные вебсервисы во много раз эффективнее любых готовых решений, поэтому время исилы, ушедшие на изучение технологий, не будут потрачены впустую. К тому же,по сравнению с программированием веб-приложений «с нуля» работать с любымфреймворком намного проще, тем более если речь идет о web2py.Для работы с web2py нужно владеть минимальным набором универсальныхтехнологий, обучиться которым можно самостоятельно благодаря наличиюкачественной учебной литературы и справочников в Интернете.
Прежде всего,необходимо знать основы языка гипертекстовой разметки HTML, в web2pyиспользуется его последняя версия – HTML5. Знания основ языка гипертекстовойразметки пригодятся и для составления курсов в LMS Moodle, так что эти знанияпо праву можно считать универсальными.
Язык программирования JavaScript иего библиотека jQuery (именно она используется в web2py по умолчанию) такжеочень полезны для разработки любых веб-приложений. Функции JavaScript можноразмещать непосредственно на веб-страницах, придавая их объектам динамику. Спомощью JavaScript можно сортировать таблицы, делать таймеры обратногоотсчета, скрывать и открывать кнопки, активировать и деактивировать поля вводаи многое другое. Функции JavaScript не обращаются к веб-серверу (они работаютдаже оффлайн) и тем самым ускоряют работу веб-приложений, но область ихприменения ограничена только операциями с объектами на веб-странице.JavaScript не работает с базами данных и файлами на веб-сервере, поэтому для283создания полноценного узла ОВС одного этого языка программированиянедостаточно.В web2py в качестве серверного языка программирования используетсяPython, поэтому его тоже необходимо изучить в том объеме, которыйрекомендует автор фреймворка [Pierro 2015: 47].
Дополнительно можно пройтикурсы Python, например, на платформе Coursera. Наконец, нужно изучить общеесодержание официальной документации к web2py, после чего можно приступатьк самостоятельной разработке веб-приложений.Когда мы рассказывали о процессе разработки узлов ОВС, мы отметили, чтоОВС не допускает жестких неизменных планов, но все-таки при построенииконкретного узла минимальное техническое планирование осуществить нужно.При разработке веб-приложения на web2py важно спланировать содержаниекаждого блока схемы MVC.
Особое внимание целесообразно уделить структуребазы данных и взаимодействию с ней веб-страниц. Не в последнюю очередьблагодаря удобной работе с базами данных web2py позволяет сосредоточиться нарешении практических задач, а не на написании кода.Мы уже отмечали, что при конструировании узлов ОВС надо исходить изжеланий преподавателя, а не возможностей программиста, чтобы методикавлияла на технологию, а не наоборот.
Поэтому в наших примерах мы постараемсяпоказать именно такой путь создания веб-приложений.В web2py любая разработка начинается с шаблонного веб-приложения. Егобаза данных уже включает в себя таблицу авторизации, в которую записываютсяимя и фамилия пользователя, его логин (по умолчанию им является адресэлектронной почты) и пароль. Поскольку специфика ОВС требует подписанияправил поведения, мы должны добавить в таблицу авторизации еще одну колонкус переменной типа boolean (флажок «да / нет»), без активации которойрегистрация в веб-приложении будет невозможна. Сделать это несложно, так какweb2py позволяет расширить стандартную таблицу авторизации и внести в неедругие поля. Эта таблица содержит данные, связанные с учетной записьюпользователя.
Ее можно расширить, например, параметром уровня доступа,284параметром репутации и даже полями для объемных текстов. Главное понимать,что любая таблица базы данных в web2py фактически состоит из строк, в которыхесть ячейки определенного типа: текстовые поля, строки, поля «да / нет», спискии др. Можно даже нарисовать такую таблицу на листе бумаги для большейнаглядности.