Почему университеты должны подумать о Joomla!

Written by | 31 December 2014 | Published in 2015 January
Если вернуть меня к преподаванию в университете, то в качестве платформы для заданий студентам я бы выбрал Joomla!.  И вот почему...  

В последние 25 лет я учился и преподавал в трех разных университетах и на протяжении этого времени я заметил переход в нынешних технологиях по преподаванию разработки программного обеспечения. [Говоря] конкретно, для преподавания объектно-ориентированного программирования и разработок факультеты выбирают Smalltqalk, C++ и Java. Конкретная стандартизация технологий ОО позволяет на рабочих местах появиться новым практикам: [таким как] шаблоны проектирования, гибкие процессы, реорганизация кода, разработка ведомая тестированием и так далее. Это предметы реального мира, которые студентам необходимо изучать, так что выбор технологий в университетах [очень] важен.

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

Пять лет назад я переключился на полновременную веб-разработку. Мое предпочтение [системы] Joomla! над другими системами управления содержимым было намеренным и хорошо информированным на моем прошлом. Мне была нужна система, которая бы позволила мне применить дисциплины, обретенные мной в мои дни инженера программного обеспечения. Для кого-либо как я, Joomla! была логичным выбором. Если бы я вернулся к преподаванию в [каком-либо] университете, то как платформу для заданий студентам я бы выбрал Joomla! И вот почему.

1. Открытый исходный код

Это не головоломка. Для изучения в [каком-либо] университете любая претендующая на это технология должна быть основана на коде, который свободно открыт студентам для [его] изучения.

2. Объектно-ориентирована

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

  • Шаблоны проектирования (Design Patterns): неоднократно используемые решения для общих при проектировании проблем.
  • Модульное тестирование и ведомая тестированием разработка (Unit Testing and Test-Driven Development): наращивание набора тестов для направления разработки программного обеспечения [с целью] определять изменения в коде, которые разрушают ранее подтвержденное поведение.
  • Реорганизация кода (Refactoring): улучшение поддерживаемости программного обеспечения. (Хорошо, кто-то может реорганизовать процедурный код, но существенная реорганизация кода подразумевает ОО.)
  • Принципы проектирования (Design Principles): использование объектов создает нам возможность открывать и практиковать проверенные принципы проектирования, такие как "открытый-закрытый", "замена Лискова" и "внедрение зависимости".

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

3. Поддержка IDE

Любая платформа [предназначенная] для использования студентами должна позволять как дебаггинг, так и установку на лэптопы. Веб технология подстраивается.

Профессионалы программного обеспечения используют IDE (Integrated Development Environment) и многие IDE поддерживают разработку [системы] Joomla. Например, PHPStorm, коммерческое IDE которое бесплатно для использования в [университетских] классах, предоставляет дебаггинг веб-страниц и веб-приложений, интегрируется с такими системами контроля версий, как GitHub и предоставляет [такие] мощные инструменты для кодирования, как реорганизация кода. Другие IDE, такие как Eclipse и NetBeans, предоставляют схожий функционал.

Далее, поскольку веб-серверы можно устанавливать и запускать [в работу] на лэптопах, каждый студент может иметь свою [собственную] установку [сервера] и отдельную среду [для] разработки.

4. Схема "Модель-Вид-Контроллер"

Фреймворк [системы] Joomla построен на классическом паттерне "Модель-Вид-Контроллер" - что на удивление отсутствует в схожих системах управления содержимым. Данное разделение позволяет разработчикам передней части фокусироваться на технологиях передних страниц, таких как HTML, CSS и JavaScript. Разработка передней части отделена от более глубоких вопросов сервера. Использование Joomla как платформы преподавания обеспечивает возможность предоставить план [обучения] веб-проектированию или классы, объединенные с факультетом графических искусств. Joomla заслужила репутацию как дружелюбная дизайнеру система управления содержимым, предоставляя свою легкость и гибкость в изменении и реорганизации визуального дизайна посредством модулей и шаблонов.

5. Контроль доступа/Безопасность

Безопасность - это очень важная для преподавания в век Интернета концепция. Joomla здесь исключительно сильна и ее стандартный ACL (список контроля доступа) интегрирует настраиваемую систему пользователей, групп и прав. Утвердившиеся модели безопасности, такие как RBAC (Role-Based Access Control), можно преподавать практически используя Joomla ACL (список контроля доступа).

6. Интернационализация

Основанная на вебе разработка должна мыслить глобально. Будучи международно принятой системой управления содержимым, Joomla впечатывает функционал мульти-язычности в свое ядро. Для установки имеются более 60 языков и каждый проект призывают применять этот функционал. Хорошо спроектированные компоненты иллюстрируют важность мульти-язычных сайтов и демонстрируют как можно применить несколько языков.

7. Библиотеки и повторное использование кода

Вся эта система построена на библиотеках, которые можно использовать повторно и которые, как ожидается, будут расширять ядро и сторонние компоненты. Студенты могут пройтись по исполнению кода для лучшего понимания принципов повторного использования кода и зависимостей [между] пакетами. Факультеты и студенты могут создавать и добавлять в специализированные веб-приложения свои собственные библиотеки и наборы API для расширения [этих спец-приложений].

8. Приложения реального веба

Известная как система управления содержимым, Joomla также является платформой для разработки полно-масштабных веб-приложений. Фактически, любое студенческое задание, которое требует компайлера рабочего стола (C#, Java и так далее), также может быть спрограммировано на платформе Joomla, - либо как исполняемые команды [интерфейса] CLI, либо как какое-либо веб-приложение. В случае с веб-приложением данный разработчик может задействовать богатый функционал системы Joomla, такой как управление пользователями, контроль доступа и представления веб-страницы. Работа какого-либо студента [совсем] не обязательно должна быть [только] теоретической, - она может быть запакетирована в реальное и распространяемое веб-приложение.

9. Настоящие возможности

Поскольку Joomla является [системой с] открытым исходным кодом и постоянно разрабатывается ее сообществом, хорошо разработанные студенческие проекты могут внести свой вклад в "Joomla-сферу." Полезные приложения могут быть предложены либо как бесплатные, либо как платные продукты (так же известные как "расширения"), которые можно публично скачивать. Поскольку разработка ядра Joomla зависит от взаимного сотрудничества добровольцев на GitHub, то добро пожаловать студентам на предложение своих [разработок для него] (от патчей до нового функционала), что будет проверено коллегами и примется во внимание для включения [в следующий выпуск системы]. Каждый год [программа] "Google Summer of Code" спонсирует студентов университетов для [их работы] с каким-либо ментором над конкретными проектами в [области] разработки Joomla.

10. Истолкованная архитектура Joomla

Книга [под названием] "Joomla Programming", [написанная] Марком Декстером (Mark Dexter) и Луисом Лондри (Louis Landry), это именно то что Вам и Вашим студентам необходимо для понимания [того], как работает [система] Joomla "под капотом". Она пошагово объясняет как создается веб-страница, [затрагивает] хуки и вставку произвольного кода и [такие] вопросы, как безопасность, язык и доступ к базе данных. Как и любой другой проект с открытым исходным кодом, Joomla постоянно развивается и со [времени издания этой] книги [в Joomla] были добавлены новые функции. Тем не менее, Вы найдете эту книгу важной для объяснения архитектуры [системы Joomla] и для демонстрации того, как [с помощью] произвольных проектов [можно] расширить платформу Joomla.

Смысл

Смысл всего этого не в том, чтобы Joomla или какая-либо другая система заменила в планах преподавания [такие] традиционные технологии, как Java, но [в том, что какая-либо] веб-технология должна быть включена в сегодняшний план преподавания. И такая технология должна быть испытанной, объектно-ориентированной для студенческих проектов и дружелюбной для преподавания.

Как технология для поддержки заданий студентам, Joomla отвечает этим нуждам. Целью является преподавание принципов и дисциплин программного обеспечения и это может получить движение вперед, когда студенты кодируют на [базе] веб-технологий и работают с современными вопросами веба.

Подумайте о [применении] Joomla как платформы для веб-разработки, - объектно-ориентированной системы с открытым исходным кодом, с которой студенты смогут экспериментировать и [на которой они смогут] практиковаться в основах создания замечательного программного обеспечения.


1 Оригинальный текст статьи автора Рэнди Кери (Randy Carey) на английском языке: https://magazine.joomla.org/issues/issue-mar-2014/item/1784-why-universities-should-consider-joomla

Read 5270 times Tagged under Russian