Продолжаю свое сравнение JS фреймворков на примере проекта todomvc. Для emberjs есть реализация todomvc, но, правда для версии 1.10 (в то время как уже имеется Ember 2.1). Но, наверное, то не должно сильно влиять на понимание принципов построения приложения на Ember. Надеюсь проверить это предположение позже.
Читать далееReactJs. Разбор кода todomvc
Для того, чтобы лучше понять как выглядит реальное приложение на React я решил разобрать код todomvc. Рассматриваю самую свежую версию кода, которая доступна на момент написания статьи. Если ссылка не работает, то можно скачать архив отсюда. Для чтения статьи очень желательно ознакомится хотя бы с базовой информацией и примерами с данной страницы официального сайта. Ну и лично мне сильно помог кусок данной книги. Надеюсь у нее будет продолжение (пытался найти оригинал – не нашел).
Читать далееAngular Light
Одной из проблем AngularJS называют его сложность. Однако принцип описания поведения веб-приложения через директивы в html коде все же интересен. Поэтому на свет появились такие библиотеки как CornerJs и Angular Light (aLight).
И если первая не развивается уже около года, то вторая продолжает радовать своих последователей новым функционалом. По заявлению автора, некоторых возможностей aLight нет в самом AngularJS.
Читать далееReactJs
React.js — фреймворк для создания интерфейсов от Facebook. Он позволяет создавать интерфейсы. В известном паттерне Model-View-Controller наш React ближе всего к пользователю. Он отвечает за представление данных, получение и обработку ввода пользователя. Где и в каком виде вы храните данные, как вы общаетесь с хранилищем, дело ваше. React — это только представление (View) вашего приложения, а не фреймворк на все случаи жизни.
Читать далееKnockoutJs
Сегодня решил покрутить в руках следующий js-фреймворк – Knockout.JS и отметить его различия с другими. Он, как выяснилось, реализует Model-View-ViewModel шаблон проектирования. В данном шаблоне есть следующие составляющие:
- Модель. Сущность (данные), как и в MVC
- Представление. Это графический интерфейс
- Модель представления (ViewModel). Связующее звено между Представлением и Моделью. Представление подписано на события ViewModel, а сама ViewModel содержит методы, с помощью, которых Представление может влиять на Модель.
Для того, чтобы пощупать Knoickout у них на сайте есть прекрасный интерактивный учебник. По нему очень удобно можно шаг за шагом освоить принципы построения приложения на данном фреймворке.
Читать далееПервое приложение с Ember.JS
Когда читаешь документацию какого-либо фреймворка, то пытаешься в голове составить какую-нибудь схему, которая бы описывала полный цикл создания приложения на нем. Однако, почему-то довольно часто найти описание такого процесса в документации не удается. Тогда приходится налегать на поисковик в надежде, что кто-нибудь добрый хотя бы чем-нибудь да намекнет на местонахождение описание устоявшихся паттернов.
Читать далееEmber.Js
Продолжаю знакомство с различными MVC JS решениями. И сегодня черед Ember.JS, который во многом похож на Angular.JS и является ответвлением SproutCore.
В статье про Angular у нас был пример с формой, которая отображала результат мгновенно, как только пользователь введет что-нибудь в поле ввода.
Так вот на официальном сайте Ember.JS есть похожий пример.
Читать далееBackBone.Js
В прошлой статье был описан фреймворк Angular.JS. И конечно же уже давно в воздухе висит вопрос “как там дела в других фреймворках?”. Вот перехожу к разбору BackBone. Хотя формально Backbone – это библиотека, а не фреймворк.
На примерах изучать все гораздо веселее, поэтому давайте разберем крохотный пример, в котором показывается реализация списка книг.
HTML-код примера совсем простой. Здесь пара кнопок и место под будущий список.
Читать далееAngularJS
AngularJS – один из самых известных Javascript MVC феймворков. В данной статье будут изложены его особенности. Статья носит ознакомительный характер и не ставит целью научить читателя работе с данным продуктом.
Для создания приложения с помощью Angular, элементам в HTML-разметке добавляются специальные атрибуты (типа ng-model и ng-app), который называются директивами (Directives) и добавляют на страницу магию связывания (Data Binding) одного с другим. Например, можно связать элементы управления (input, например) с блоками на странице, которые будут автоматически меняться в зависимости от значений элементов управления. Такие блоки называют выражениями (Angular Expressions). Они обрамляются фигурными скобками.
Читать далееПочему мне нравится Ruby On Rails
Два с половиной года назад я познакомился с замечательным ruby-фреймворком Ruby-On-Rails. Часто слышу вопросы о том, в чем же его преимущества. Я попробую изложить свои мысли по этому поводу, которые возникли у меня за это время. Правда сразу придется оговориться, что пересел я на него с php-фреймворка Kohana. Если бы я пересел скажем с Symfony, то ощущения были бы, возможно, уже не такие.
После Коханы мир Рельсов показался весьма удивительным. Да был трудный и долгий старт, но после этого я ощутил, что попал в будущее. Настолько был велик разрыв.
Читать далееО вирусах в веб-приложениях и бесплатных темах оформления
Приветствую всех!
Подивили меня на днях информацией о том, что многие бесплатные темы оформления для сайтов содержат вредоносное ПО. Погуглив секунду я наткнулся на статью об уязвимостях в темах для WordPress. Статья пугающая. Более половины тем, по словам авторов статьи, имеют уязвимости. Однако в статье почему-то умолчали о темах из официального источника. А ведь как раз оттуда вордпресс тянет темки в админку.
Читать далееНужно ли использовать фреймворки
Всех приветствую!
Увидел на хабре статью с интригующим названием Не учите фреймворки, учите архитектуру. Решил ознакомиться. Статья, как и предполагалось, весьма провокационная. Автор рассуждает о том нужны ли в веб-разработке ( и возможно в любой другой разработке ПО ) фреймворки. Поднимает интересную тему незнания паттернов проектирования даже опытными разработчиками. В конце статьи автор говорит о том, что не надо изучать фреймворки, а стоит вместо этого потратить время на освоение паттернов проектирования.
Читать далее