Melchior.js
Melchior.js (GitHub: voronianski/melchior.js, Лицензия: MIT, npm: melchiorjs) от Dmitri Voronianski представляет собой реализацию цепочного определения модулей(CMD), концепцию, введенную John Wu.
Идея, кроющаяся за цепочными определениями модулей разрешает некоторые неприятные моменты AMD, такие как объемные объявления зависимостей, а так же обеспечивает простоту и читабельность с использованием визуально-дружелюбного и ясного синтаксиса.
Так же как CommonJS больше подходит для вне-браузерной среды, цепочные определения модулей с их требованиями, идеально вписываются во внутри-браузерные сценарии использования.
Вот пример использования данного программного интерфейса (API):
// create module
melchiorjs.module('yourModule')
// define dependencies
.require('dependencyUno')
.require('dependencyDuo', 'duo')
// define module body
.body(function () {
// `dependencyUno` is available here!
dependencyUno.doSomething();
// aliased `dependencyDuo` is available as `duo`!
duo.doSomething();
// return methods for other modules
return {
method: function () {
//...
},
anotherMethod: function () {
//...
}
};
});
Пояснительный(readme) файл содержит больше примеров среди которых имеется один для AngularJS. Данный программный интерфейс(API) выглядит более идиоматическим по сравнению с большинством модульных загрузчиков. Будет интересно посмотреть если данный продукт станет популярным.
ng-admin
François Zaninotto выложил информацию о ng-admin (GitHub: marmelab/ng-admin, Лицензия: MIT), это крутой проект который добавляет интерфейс администрирования к вашим RESTful CRUD — программным интерфейсам взаимодействия(APIs).
Вы сможете найти демонстрацию проекта на Amazon и документацию, которая показывает как настроить ng-admin для использования с сущностями вашего приложения. Данное решение способно справится с преобразованием(mapping) полей и со связями между сущностями. Связи могут быть 1-N, N-1, и N-M(many to many).
По мнению François, ng-admin полезен потому-что если вы создаете многочисленные проекты с различными бэкэндами (MongoDB, MySQL, Node, Python) вы все еще можете добавить «платформенно-агностический» интерфейс администрирования.
Этот-же автор реализовал gremlins.js.
Hello.js
Andrew Dodson выложил информацию о hello.js (GitHub: MrSwitch/hello.js, Лицензия: MIT, npm: hellojs), Клиентский комплект средств разработки(SDK) для аутентификации с OAuth2 (и OAuth1 через прокси oauth) веб-сервисами и выполнения запросов к их REST API. Данная библиотека представляет из себя, унифицированный интерфейс взаимодействия, нормализующий пути и ответы для сервисов Google Data, Facebook Graph и Windows Live Connect.
Одно из преимуществ hello.js заключается в его модульности. Здесь вы сможете найти модули для Dropbox, LinkedIn, SoundCloud, и Yahoo.
Программный интерфейс(API) модуля позволит вам определять такие вещи как функции jsonp, так что это должно быть достаточно гибко для того что-бы покрыть большинство современных сервисов.
Речь о HelloJS уже заходила на Hacker News, с обсуждением аспектов безопасности, и одобрениями от пользователей:
HelloJS хорош. Я использовал его в моем последнем проекте. Он всего-навсего работает. Он хорошо протестирован и документирован. Настройка не выглядит запутанной. Это просто сработало как по маслу, когда я пытался настроить учетные записи OAuth для Twitter, Google, LinkedIn и Facebook .
ineed
Ivan Nikulin написал о parse5, говоря что он имеет новый HTML-парсер в SAX-стиле на котором соответственно и зиждется проект ineed:
ineed позволяет вам собирать полезные данные с веб страниц, используя простой и приятный программный интерфейс. Давайте соберем изображения, ссылки, скрипты и стили со страницы www.google.com:
var ineed = require('ineed');
ineed.collect.images.hyperlinks.scripts.stylesheets.from('http://www.google.com',
function (err, response, result) {
console.log(result);
});
Внутренне ineed использует потоки HTML символов(токенов), так что он не тратит время на построение и обход дерева DOM. Это выглядит идеальным решением для обработки множества различных, неудобных, выборочных задач.
Пометки
Здесь представлен перевод двух статей Alex Young. Во первая статья, и вот вторая. Спасибо за внимание.