Два дня назад Microsoft представил JavaScript'овую UI-ориентированную библиотеку для кроссплатформеной разработки — WinJS, который, хоть и существует достаточно давно, но как отдельный «сет» вне привязки к Windows, был представлен только 02.04.2014.
http://dailyjs.com/2014/04/03/winjs/
http://blogs.windows.com/windows/b/buildingapps/archive/2014/04/02/extending-platform-commonality-through-universal-windows-apps.aspx
https://github.com/winjs/winjs
И вот что интересно…
Первое, что бросилось в глаза, пока мы просматривали данную библиотеку:
1) Код воспринимается сразу и весьма органично, несмотря на то, что с данной библиотекой до этого никогда не работали;
2) Адекватная работа с DOM — он не перегружен ненужными и невидимыми в данный момент элементами http://try.buildwinjs.com/default.aspx#listview
http://try.buildwinjs.com/default.aspx#fragments
http://try.buildwinjs.com/default.aspx#pageControl
3) Коллбеки на события жизненного цикла;
4) Отдельно хотелось бы отметить достаточно удачные уровни UI-абстракций (контролы, фрагменты, страницы), как правило, отсутствующие в полном объеме в большинстве JavaScript-библиотек.
Плюс небольшая куча интегрированных «плюшек», таких, как Scheduler, Promises, XHR, Binding.
Как всегда, не обошлось без «но»: в будущем придется изучить возможности кастомизации визуальной части. Если это будет достаточно трудно реализовать, то мы можем получить еще одну Sencha Touch. Но в связи с тем, что WinJS — это opensource под apache, мы надеемся, что библиотека получит свое развитие, несмотря на то, что Microsoft сейчас воспринимается только как источник enterprise-решений.
В данный момент .NET-комьюнити практически не работает над opensource-проектами, так как в enterprise-сегменте, где присутствуют жесткие NDA, серьезный коммитмент в opensource скорее исключение, чем правило.
Поэтому будем надеяться, что у Microsoft Open Technologies это дело выгорит.
Автор: YuriyLuchaninov