wordpress как фреймворк для создания сложных систем

28
WordPress как платформа для создания сложных и больших систем Причины по которым эта платформа является оптимальным решением для создания больших систем

Upload: anatoly-yumashev

Post on 11-Apr-2017

130 views

Category:

Technology


5 download

TRANSCRIPT

WordPress как платформа для создания сложных и больших системПричины по которым эта платформа является оптимальным решением для создания больших систем

WordPress. Есть мнение что это для начинающих

Есть специалисты, которые считают что WordPress это инструмент для простых сайтов. Личные блоги или бизнес-визитки на 3-5 страничек.

Его постоянно взламывают - он не безопасен.

Нельзя сделать что-то большое.

2Два ведущих издания в сфере безопасности используют WordPress: Хакер и Касперский. Их пытаются взламывать по 1000 раз в день.

200+Серверов используется в кластере для управления сайтами wordpress.com

21 000 000Просмотров только из US за месяц выдерживает портал http://techcrunch.com/ на базе WP - это портал №1 в мире о ИТ, бизнесе и стартапах.

Что если смотреть на факты, вместо мнений...

26.7%Доля WordPress на мировом рынке сайтов по данным http://w3techs.com/ на начало 2016 года.Это абсолютный мировой рекорд.

Что такое фреймворк?Приложения

● Wix (SaaS)● Tilda (SaaS)● MediaWiKi (SaaS, SH) ● InSales (SaaS)● Tumblr (SaaS)● AmoCRM (SaaS)● ownCloud (SaaS, SH)● Slack (SaaS)● RocketChat (SH)

...

Фреймворки:

● NodeJS● Laravel● Yii● Zend● RoR● Django● Symfony● React.js● Angular.js

...

Двойственная природа WordPressКак фреймворк

● высокие требования к специалистам, нужно изучение API, рекомендация кодекса и архитектуры

● требования к ресурсам растут соразмерно сложности задач

● аренда хостинга начинается от 40 долларов, доходит до 3500 долларов в месяц и это не предел (есть примеры - 200 серверов в кластере)

● сопровождение начинается с 10 000 долларов в месяц и выше

● низкая компетенция специалистов приводит к большим проблемам

Как приложение

● легко запускается (SaaS & SH)● минимальные требования к ресурсам● разобраться можно без технических

навыков, не требуется быть специалистом

● аренда хостинга стоит очень дешево (от 1 доллара в месяц, в среднем 5-10 долларов)

● сопровождение особо не требуется

За 1 доллар в месяц можно получить вполне рабочее и неприхотливое решение, которое будет работать из коробки.

Кейсы

ACM/BPMСистема управления бизнес-процессами: CRM/ERP/ACM/ECM.

База знаний и обучение, телефон и CRM, процессы и проекты, финансы и кадры

Управление бизнес процессами и документооборотом в федеральной компании на 3000 сотрудников и 30+ офисов в разных городах.

Более 200 активных плагинов в консоли.

wordpress.com

Конструктор сайтов/блогов от компании Automattic

83 миллиона уникальных посетителей в месяц только из США. (источник: comScore.com)

Более 200 серверов в кластере.

prihod.ruКрупнейшая сеть церковных сайтов в мире - Prihod.ru

Работает на базе WordPress

Управляется командой из РФ.

Часть сайтов находится в Австралии.

Лайфхакер6,4 миллиона уникальных посетителей в месяц

≈300 тысяч посетителей ежедневно

18 миллионов просмотров в месяц

(данные Google Analytics за январь 2016 года)

https://lifehacker.ru/reklama/

Прикладные стартеры и фреймворкиWPCasa - база недвижимости

WooCommerce - каталоги продуктов, магазины и цифровые рынки

LifterLMS - система дистанционного обучения

BuddyPress - социальная сеть

bbPress - форум

WP Job Manager - биржа работ и заданий

Базы недвижимостиВывод объектов на карте

Фильтрация и поиск недвижимости

Фотографии и характеристики объектов

Возможность запуска первой версии сайта за 2-3 дня.

Примеры:https://www.enginethemes.com/

Каталог организаций, справочники

Добавление своих организаций

Стилизация главной страницы

Обзоры и рейтинги организаций

Пример:https://www.enginethemes.com/

Конструкторы лендингов - DIVIОптимальное решение для бизнес-сайтов.

Быстрый запуск сайта.

Сильная упаковка бизнеса.

Эффективное продвижение и отдача от рекламного бюджета.

Адаптивность и мобильность.

Порталы, блоги, СМИКонструктор инфоблоков на главной

Стилизация сайта

Форматы записей (видео, аудио, фото, обычный текст ...)

Сторитейлинг

Лонгриды

Вопросы и ответы, форумыСоздание сообществ.

Порталы поддержки клиентов.

Коммуникации сотрудников в организации.

Биржы фриланса,заказчики и подрядчики

Возможность запустить биржу специалистов в своей теме.

Сайт отеля с системой брони Визитка отеля и контактные данные.

Каталог номеров.

Возможность брони через сайт.

Базы знанийСохранение и структурирование знаний в организации или сообществе.

Поддержка клиентов.

Обучение сотрудников.

Обмен опытом в сообществах.

Построение систем стандартов и регламентов компании

Идеи и методики

Антихрупкость● Хрупкость - следствие стремления к

эффективности● Антихрупкость - требует

гиперкомпенсации● Важна опциональность - даже если

она не используется● Способность системы адаптироваться

под стрессы важнее скорости

ТРИЗ + АРИЗ + ЗРТСТеория решения изобретательских задач (ТРИЗ)

Алгоритм решения изобретательских задач (АРИЗ)

Законы развития технических систем (ЗРТС)

- Генрих Альтшуллер

ООП, КОР и Алан Кёртис Кэи- Объектно-ориентированное программирование

(ООП) сегодня это не то что было придумано изначально

- Сегодня эта идеология известна как “компоненто-ориентированная разработка” (КОР)

- Есть мнение что КОР - это будущее ООП (из Википедии)

- На самом деле КОР - это и есть ООП в изначальном понимании. Но из-за ошибки в понимании сегодня под ООП все понимают класс-ориентированное программирование

Идеи КОР из цитат Алана● Ключ к созданию хороших масштабируемых систем это

проработка механизмов общения модулей, а не проработка их внутренних свойств и поведения.

● Мне жаль, что давным давно я использовал термин «объект» для этой темы, потому что из-за этого многие люди фокусируются на меньшей из идей. Большая идея это «сообщения».

● Я считал объекты чем-то вроде биологических клеток, и/или отдельных компьютеров в сети, которые могут общаться только через сообщения.

● Одна из ключевых идей: система должна продолжать работу во время тестирования и особенно во время произведения изменений. Даже крупные изменения должны быть поэтапными и занимать не более доли секунды.

● Я не против типов, но мне не знакома ни одна система типов, которая не вызывала бы боли. Так что мне все еще нравится динамическая типизация.

Источник: https://habrahabr.ru/company/hexlet/blog/303754/

MVC vs/and MECEMECE = ВИСИ = взаимное исключение, совместное исчерпывание - метод структурирования мыслей и материалов для решения сложных задач и проблем от компании McKinsey. Важен для больших систем.

MVC - метод структурирования кода на 3 составляющие: Model - View - Controller. Подходит для маленьких систем или компонентов больших систем.

ФилософияИсточник: https://wordpress.org/about/philosophy/

Out of the BoxGreat software should work with little configuration and setup. WordPress is designed to get you up and running and fully functional in no longer than five minutes. You shouldn’t have to battle to use the standard functionality of WordPress.

Design for the MajorityMany end users of WordPress are non-technically minded. They don’t know what AJAX is, nor do they care about which version of PHP they are using. The average WordPress user simply wants to be able to write without problems or interruption. These are the users that we design the software for as they are ultimately the ones who are going to spend the most time using it for what it was built for.

Decisions, not OptionsWhen making decisions these are the users we consider first. A great example of this consideration is software options. Every time you give a user an option, you are asking them to make a decision. When a user doesn’t care or understand the option this ultimately leads to frustration. As developers we sometimes feel that providing options for everything is a good thing, you can never have too many choices, right? Ultimately these choices end up being technical ones, choices that the average end user has no interest in. It’s our duty as developers to make smart design decisions and avoid putting the weight of technical choices on our end users.

Вопросы

Анатолий Юмашев

WordPress-разработчик

[email protected]