Сейчас более чем когда-либо разработчики и дизайнеры начинают видеть потенциал использования WordPress в качестве способа создания веб-приложений.
Под этим я подразумеваю, что сообщество начинает понимать, что WordPress можно использовать не только для ведения блогов и не только для управления контентом: вместо этого его можно использовать для поддержки приложений, поддерживаемых базой данных, которые работают в контексте веб-браузера.
А почему бы и нет? Если вы сделаете шаг назад и посмотрите на все то, что предлагает WordPress, у вас есть достаточно веские аргументы в пользу того, насколько мощным WordPress действительно является.
Например, WordPress поставляется с:
- База данных с гибкой схемой данных
- Основной прикладной уровень с множеством хуков, которыми мы можем воспользоваться
- Способность обрабатывать задачи на стороне клиента, сервера, пользователя и администратора
На самом деле Мэтт Малленвег сказал:
Когда вы думаете об этом, мы создаем веб-операционную систему.
Но это не значит, что WordPress подходит всем. В конце концов, сколько фреймворков, фондов, библиотек, инструментов и т. Д. У нас есть, чтобы помочь нам создавать веб-приложения?
В этой серии мы рассмотрим именно то, что предлагает WordPress, в части, касающейся создания веб-приложений, различий в структуре приложений и основы, функций, которые можно использовать для создания полнофункциональных приложений с WordPress, а также а также то, как WordPress не является серебряной пулей для написания программного обеспечения для Интернета.
Рамок и фондов
Одно из самых распространенных заблуждений, которое я слышал применительно к WordPress, — это то, как он представляет собой каркас для веб-приложений. По самому определению «фреймворка» и самому определению того, что такое WordPress, это не фреймворк — это фундамент.
Что такое фреймворк?
Как определяет Википедия, программная структура выглядит следующим образом :
В компьютерном программировании программная структура — это абстракция, в которой программное обеспечение, обеспечивающее общие функциональные возможности, может выборочно изменяться посредством дополнительного написанного пользователем кода, таким образом обеспечивая программное обеспечение для конкретного приложения. Программная платформа — это универсальная программная платформа многократного использования для разработки приложений, продуктов и решений. Программные среды включают в себя программы поддержки, компиляторы, библиотеки кодов, наборы инструментов и интерфейсы прикладного программирования (API), которые объединяют все различные компоненты для обеспечения возможности разработки проекта или решения.
Проще говоря, инфраструктура состоит из набора соглашений — например, куда должны идти файлы — а также библиотек и инструментов — таких как уровень абстракции базы данных — которые позволяют нам легко начать работу над приложением.
С помощью фреймворка вы можете сосредоточиться на конкретной проблемной области, уникальной для решения, которое вы пытаетесь создать. Например, предположим, что вы собираетесь создавать какое-то простое программное обеспечение для счетов, которое отвечает за отслеживание пополнений, снятие средств и отслеживание доступных (или не очень доступных денежных средств).
В этом сценарии у вас будет база данных, уникальная для этой проблемы, уровень абстракции базы данных, позволяющий легко считывать и записывать данные в определенную схему, и набор соглашений для организации кода представления (то есть что отвечает за отображение данных пользователю и с которыми пользователь взаимодействует), а также за организацию кода приложения, который находится между кодом представления и кодом базы данных, который инкапсулирует любую бизнес-логику, уникальную для данной проблемы.
Видите ли, инфраструктура предоставляет средства, с помощью которых приложение может быть построено с нуля. Это помогает упростить создание приложения от схемы базы данных до внешнего интерфейса.
Тогда что такое фонд?
Правда в том, что это очень похоже на то, что предлагает WordPress, не так ли?
Но дело в том, что WordPress предоставляет предопределенную базу данных, предопределенный набор кода приложения (и, следовательно, API), а также способы визуализации данных с использованием файлов шаблонов.
Проще говоря, WordPress — это приложение, которое предоставляет набор API и соглашений, которые мы можем использовать для создания приложений поверх. Он уже предоставляет готовую схему, базовую логику данных, некоторую бизнес-логику и стратегии представления.
В то время как фреймворк позволяет вам фактически создавать приложение, фундамент позволяет расширять приложение.
И это то, что мы в конечном итоге делаем с WordPress: мы пользуемся преимуществами предопределенной базы данных, доступных API и системы шаблонов для отображения данных для построения решений с использованием уже определенного приложения.
Короче говоря, программное обеспечение может быть построено на основе, программное обеспечение может расширить основы.
Немного запутался?
Как и в предыдущем разделе, мы рассмотрели, как вы будете создавать очень простую бухгалтерскую программу. Напомним, что для этого требовалось определить схему базы данных, написать код для чтения и записи в базу данных, написать код для обработки бизнес-логики, создать шаблоны для визуализации данных и взаимодействия с пользователем, а затем разместить файлы там, где они необходимы для в соответствии с соглашениями рамок.
С WordPress вполне возможно использовать существующую систему баз данных для обработки всего этого. Вы можете использовать API для санации и проверки данных, вы можете использовать шаблоны для визуализации информации, и вы можете использовать ловушки для реализации пользовательских функций для взаимодействия с пользователем.
Так в чем же разница?
Так что да, хотя один и тот же тип программного обеспечения может быть построен на основе или на основе, существуют различия между платформами и фондами, и я думаю, что очень важно понять разницу в обоих, прежде чем углубляться в серию.
Проще говоря, фреймворки — это не приложения, а фонды — это приложения.
То, что веб-приложение может быть построено с использованием WordPress, не делает его фреймворком. Это основа. Это приложение само по себе, которое может быть расширено на другие приложения .
Такие вещи, как Rails, Laravel, CakePHP, Zend и CodeIgnitor, являются фреймворками, потому что когда вы загружаете, устанавливаете и настраиваете их, они на самом деле ничего не могут сделать, пока вы не дадите им достаточно кода для этого.
Фонды не такие. Они уже могут что-то делать, независимо от того, написали ли вы строку кода самостоятельно.
Что дальше?
Как уже упоминалось, на протяжении всей этой серии мы собираемся взглянуть на фундамент, который WordPress предоставляет для написания веб-приложений.
Конечно, нет никакой серебряной пули, когда дело доходит до написания веб-приложения. Цель этой серии — не убедить кого-либо в том, почему WordPress следует использовать поверх любой другой платформы или основы. Вместо этого цель состоит в том, чтобы просто показать, что вы можете сделать с WordPress и почему это может быть жизнеспособной альтернативой для вашего следующего проекта.
Хотя не будет много технического материала, такого как код, будет много примеров того, какие API доступны в WordPress, как их можно использовать и для чего они могут быть использованы при написании приложений.
Начиная с следующей статьи, мы увидим, что значит перенести нашу концептуальную модель мышления о создании веб-приложений с шаблонов и сред на что-то вроде WordPress.