Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Веб-разработка? Это просто! Вышел новый релиз web фреймворка Yesod


9-ого февраля сего года вышел 0.10 релиз фреймворка Yesod. Для тех кто о нем никогда не слышал - рассказываю. Есод - это бесплатный фреймворк предназначенный для быстрого построения проектов с высокой нагрузкой. В качестве языка программирования используется Haskell. Да-да, вы не ослышались именно тот о котором в последнее время так много упоминают. Есод будет для вас хорошим выбором, если для вас выполняются данные условия:
  1. Вашему проекту необходима замечательная асинхронность ввода-вывода и производительность - быстрее, чем node.js и в некоторых случая даже быстрее чем приложения на C/C++ (благодаря технологии мемоизации вычислений)
  2. Нужны хорошие возможности по расспаралеливаню вычислений
  3. Нужен низкий порог дефектов кода - без необходимости писать огромное количество тестов
  4. нужна высокая безопасность ваших приложений (большинство проблем безопасности не представляется возможными в хаскеле)
  5. Вы опытный программист Haskell или хотите выучить новый язык программирования
Основная цель этого релиза была перейти на кондуиты (каналы). А также некоторые незначительные моменты в области персистенции. Предпологается что это релиз-кандидат версии 1.0. Вот список изменений: Persistent:
  1. Новый интерфейс rawSql
  2. Новый MySQL бэкенд, реализация CouchDB бэкенда в процессе
  3. Поддержка встроенных записей, карты, списки, и наборы
Shakespeare: Теперь используется новый addDependentFile для GHC 7,4. Это означает, что когда вы вносите изменения в шаблоны шекспира, они будут автоматически перекомпилироваться при сборке проекта. shakespeare-js: Теперь компиляция Coffeescript выполняется во время сборки проекта. Эта стратегия в настоящее время поддерживается библиотекой шекспир: и если шаблону необходимо выполнить внешнюю программу, это будет сделано один раз во время компиляции. Благодаря этому Coffeescript является замечательным выбором. Coffeescript добавляет большую наглядность Javascript скриптам, что избавляется от противоречий и добавляет удобства. WAI: Были сделаны большие изменения для перехода на кондуиты. Было также много мелких исправлений ошибок и улучшений для увеличения производительности. RequestLogger интерфейс был усовершенствован, и ошибка в быстром логгере была исправлена. В настоящее время ставятся эксперименты со способами сделать более эффективной передачу данных в WAI. Одним ограничивающим фактором было невозможность передавать произвольные данные. В WAI теперь есть набор методов для достижения этой цели, которые используют хранилище пакетов. Yesod: Опять же, в центре внимания этого выпуска был переключатель каналов (кондуитов). Для пользователя это отображается в изменении конфигурации, и обработки исключений. С переходом на кондуиты был полностью удален обработчик liftIOHandler. Добавлена настройка Approot, которая генерирует URL. Теперь у вас есть возможность изменять URL на основе полученного запроса. Была переделана система редиректов, чтобы использовать правильный статус, и чтобы удалить избыточность. Пропала необходимость в RedirectTemporary, поэтому была удалена. Если вы хотите указать статус HTTP, используйте redirectWith. Улучшена маршрутизация. Большинство маршрутизаторов в веб-фреймворках тупо проверяют маршруты один за другим, пока они не найдут подходящий. Yesod теперь имеет эффективное решение этой задачи:
  1. Группировка маршрутов по количеству компонентов, которые могут совпадать (разделенные слешем) в url. Этот поиск работает в фиксированное время.
  2. Используется карта, чтобы уменьшить количество сравнений строк для каждого маршрута с логарифмической сложностью.
Если вы уже используете Eсод, то пожалуйста, обновитесь до 0.10 и дайте знать авторам, как сделать его еще лучше. Если вы еще не знакомы с этим фреймворком, но хотите попробовать, то вам сюда.

В избранное