Поиски .Net-движка для блога


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

Причина №1. PHP

WordPress написан на PHP. Не хочу разводить холивары на эту тему, однако мне этот язык не нравится по нескольким причинам:

  • PHP динамический язык. В нем можно вытворять все что угодно и получить ошибку в рантайме в самых неожиданных ситуациях.
  • Я не знаю ни одной доступной приличной IDE для PHP, кроме PHPStorm от JetBrains, которая бесплатна только для OpenSource-проектов (Eclipse не предлагать)
  • Сам язык имеет ужасную несогласованную архитектуру

Мне, как .Net разработчику, было бы интересно иметь блог на платформе .Net. Тогда я бы смог:

  • Удовлетворять свой профессиональный интерес разрабатывая расширения для движка на .Net
  • При этом используя свой любимый инструмент разработки Microsoft Visual Studio
  • Расширить свои знания в технологии Asp.Net MVC

Причина №2. Архитектура WordPress

Пытаясь настроить свой блог, я понял что мне не нравится его архитектура. Я сейчас не смогу описать чем именно, но какая -то она лапшевидная что-ли…

Причина №3. Расширение кругозора

WordPress на данный момент, пожалуй, является лидером в тематике движков для ведения блогов. Хотелось бы посмотреть на альтернативы и посодействовать в развитии приглянувшегося мне движка на .Net. Причем желательно чтобы он был написан с использованием именно Asp.Net MVC. В случае, если я не найду подходящего для себя движка, я планирую заняться разработкой своего движка на Asp.Net MVC4.

Кандидат №1. Orchard Project

OrchardLogo

Orchard Project — это бесплатный, распространяемый с открытым исходным кодом, ориентированый на сообщество проект, предназначенный для создания многократно используемых компонентов на платформе ASP.NET MVC. Этот движок не предназначем именно для блогов. На самом деле на нем можно сделать все, что угодно: блог, информационный портал, интернет-магазин и многое другое. Движок вызывает положительные впечатления и мне даже захотелось сделать на нем блог, однако пока что меня останавливает его супер универсальность и достаточно сложная для понимания и использования архитектура, которую пришлось сделать для поддержки этой универсальности. Для своего блога хотелось бы чего-то более простого, ориентированного именно на блог, а не на все случаи жизни.

Кроме того, для него достаточно мало готовых шаблонов и расширений, система блогов не имеет поддержки категорий (возможно есть какие-то расширения для поддержки категорий, но я их не нашел).

Имеется расширение для импорта материалов из формата BlogML.

Кандидат №2. BlogEngine.Net

blogenginelogo

Этот движок, пожалуй, можно назвать WordPress’ом на платформе .Net. Движок написан на Asp.NET 4 (к сожалению не MVC) и имеет специализацию именно для блогов. Тут есть и категории, и теги, поддержка черновиков. Имеет побольше шаблонов и расширений,  чем Orchard. Поддерживает импорт постов, категорий, тегов и комментариев из формата BlogML. Интерфейс редактирования материалов очень похож на WordPress. По умолчанию использует систему хранения данных в формате XML-файлов. Поддерживает также SQL-сервер, однако при этом, похоже, все равно кеширует в тех же файлах.

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

Кандидат №3. NBlog

nblogДвижок блога на Asp.Net MVC. К сожалению, он почти не развивается: последние изменения были сделаны 7 месяцев назад. Движок поддерживает OpenID — авторизацию (насколько я понял, только ее и поддерживает). Я не стал досконально разбираться с данным движком так как он показался мне через чур простым. Судя по исходникам у него отсутствует админка. У администратора имеется возможность добавлять и удалять записи. Я так и не понял, как зайти администратором, возможно в конфигурации где-то нужно прописать OpenID-аккаунт администратора. К недостатку этого движка можно также отнести отсутствие какой-либо документации и расширений. Посмотреть данный движок в действии можно на сайте автора.

Кандидат №4. FunnelWeb

FunnelWeb

Этот движок позиционируется как разработанный разработчиками для разработчиков:

Вместо фантастических цитат и кучи виджетов, мы ориентируемся на придании вашему посту красивых исходников кода, сохраняя разметку чистой и валидной, а также поощрение сотрудничества богатыми комментариями.

По дизайну этот движок похож на сайт StackOverflow.  Мне такой дизайн не очень нравится, да и виджетов охота)

Другие кандидаты

Помимо перечисленных есть еще движки для блогов:

  • Oxite — вроде бы не развивается. На этом движке основано OrchardProject
  • SubText — тоже не развивается. Написан на Asp.Net WebForms.
  • AtomSite — последнее обновление два года назад. Админка очень похожа на WordPress. Написан на первой версии Asp.Net MVC
  • MvcBloggy — Asp.Net MVC движок. Находится в стадии разработки.
  • LitleBlog — движок на Asp.Net MVC4. Хранит данные в XML-файлах

ИТОГО

Итак, рассмотрев данные варианты, я пришел к выводу, что наиболее интересным и подходящим для меня вариантом будет создание своего движка для блога. Тем более я уже начал делать работы в этом направлении.

Новый движок должен соответствовать следующим соглашениям (это набросок, окончательный список я составлю позже):

  • Платформа Asp.Net MVC4
  • Платформа хранения данных — в первую очередь Microsoft SQL Server, а в будущем и другие БД, например, MySQL.
  • Расширяемость: виджеты и темы. При этом создавать виджеты и темы должно быть очень просто.
  • Поддержка авторизации OpenID
  • HTML5, CSS3, JQuery
  • Поддержка Ajax
  • Сменные редакторы кода (по умолчанию CKEditor)
  • Поддержка категорий постов, тегов
  • Импорт/Экспорт в форматы BlogML и WordPress RSS (последний используется при экспорте WordPress )
  • Интеграция с социальными сетями из коробки
  • Система комментариев: локальная, Disqus или Cackle (возможно и другие через механизм расширений)
  • Встроенная анти-спам система (Akismet)
  • Контроль над Url адресами
  • Быстрая скорость работы. Опция кеширования

Вообще мне бы хотелось чтобы движок был готов к использованию из коробки.


Наверх