Компания Yahoo объявила (http://developer.yahoo.com/blogs/ydn/posts/2012/04/yahoo.../) об открытии кода фреймворка Mojito (http://developer.yahoo.com/cocktails/mojito/), предназначенного для разработки web-приложений с использованием парадигмы MVC и компонентов JavaScript-библиотеки YUI 3 (http://yuilibrary.com/projects/yui3/) (Yahoo! User Interface). Web-приложения могут включать в себя гибридные модули-виджеты, которые без изменений могут выполняться как на сервере (используется Node.js), так и в браузере. Код Mojito открыт (https://github.com/yahoo/mojito/) под лицензией BSD.
Универсальный характер Mojito-приложений, позволяющих выполнять один и тот же код на сервере и в браузере, открывает достаточно широкие возможности для разработчиков, например, приложение может начать выполняться на сервере, а по мере загрузки необходимых компонентов клиенту, продолжить работу внутри браузера, не заставляя пользователя ждать пока завершится загрузка контента, необходимого для локальной работы web-приложения. При нехватке ресурсов локальной системы, например, если программа запущена на мобильном устройстве, использование Mojito позволяет организовать перенос выполнения текущего web-приложения на сервер. Все операции по переброске выполнения с сервера в браузер и наоборот выполняются в прозрачном режиме и незаметны для пользователя.При выполнении Mojito-приложений web-интерфейс сразу доступен для пользователя, независимо от того как много данных требуется для работы приложения и насколько высока пропускная способность текущего сетевого соединения. Для прозрачной организации доступа к данным из браузера и с сервера используется язык <a href="http://yuilibrary.com/yui/docs/yql/">YQL</a> (Yahoo Query Language). Что касается формирования интерфейса, то при работе в браузере приложение осуществляет локальный рендеринг страницы, а во время работы кода на сервере интерфейс формируется на сервере и клиенту лишь транслируется внешний вид страницы, как при работе классических серверных web-приложений.
URL: http://developer.yahoo.com/blogs/ydn/posts/2012/04/yahoo.../
Новость: http://www.opennet.me/opennews/art.shtml?num=33522
Ну и зачем эти выкрутасы, когда проще весь рендеринг делать на стороне клиента и не мучиться. И сервер разгружается, и код становится проще.
Пропускная способность растет, количество серверов растет, сами сервера становятся мощнее. Надо же как то все это дело грузить по полной. Даже ради понта.
> И сервер разгружается, и код становится проще.верно!
и Google спецификацию написал как всё это сделать чтобы индексировалось -- (Ajax Crawlable) -- https://developers.google.com/webmasters/ajax-crawling/docs/...
С разморозкой! Уже есть history API
> Ну и зачем эти выкрутасы, когда проще весь рендеринг делать на стороне
> клиента и не мучиться. И сервер разгружается, и код становится проще.Потому что индексацию на стороне клиента поисковики делать еще не научились.
Научились и, кстати, уже очень неплохо. Вот только заставлять клиента пережевывать тонны JS-кода для отрисовки страницы по-моему идиотизм. При этом непонятно, как это должно разгрузить сервер. Какая ему разница, что генерировать — готовый HTML или JSON?
Точно говорить можно только по конкретным проектам. Обычно оверхед на обработчике темплейтов заметно выше, чем на генераторе JSON. Плюс удается еще выкинуть часть логики, перенеся ее на клиента.
>> Плюс удается еще выкинуть часть логики, перенеся ее на клиента.Вот только не факт, что для веба это плюс. Модно - да, полезно - хз. Впрочем, согласен, судить здесь можно только по конкретным проектам.
>>> Плюс удается еще выкинуть часть логики, перенеся ее на клиента.
> Вот только не факт, что для веба это плюс. Модно - да,
> полезно - хз. Впрочем, согласен, судить здесь можно только по конкретным
> проектам.Человек оговорился. Не "выкинуть" "перенеся", а продублировать на клиенте, сократив количество обращений с некорректными данными, разгрузив и сервер, и канал.
Очевидно же, что передавать данные отдельно от оформления - экономней: то ли пару килобайт реальных данных передавать, то ли полмегабайта "кул-дизайна". Для чего и XML в своё время мечтали пристроить в веб.С другой стороны - не одну хорошую идею использовали через задний проход - здесь будет то же ))
Вот еще интересная ссылка по тегу Yahoo
Годная новость. Как раз планирую изучать node.js За нодой будущее. А Yahoo придумало очень гибкое и масштабируемое решение.
Боже мой, сколько же хайпа вокруг разных недотехнологий. Javascript убогонький язычок, и если говорить о полноценной среде разработки уж точно не может сравниться с такими средами как .NET. Было бы конечно неплохо, если бы он вытеснил php. Но дальше ему нельзя. Надеюсь шум пройдет и все встанет на свои места.
> Боже мой, сколько же хайпа вокруг разных недотехнологий. Javascript убогонький язычок,
> и если говорить о полноценной среде разработки уж точно не может
> сравниться с такими средами как .NET. Было бы конечно неплохо, если
> бы он вытеснил php. Но дальше ему нельзя. Надеюсь шум пройдет
> и все встанет на свои места.Ну да.
Куда js и php до .NET по количеству работающих на них сайтов)
Куда Роберту Фриппу и Греггу Лейку до Джастина Биббера по количеству слушателей.
В своей ненависти к микрософту линуксоиды будут даже защищать такое откровенное УГ как php.
Толстячок как обычно все проспал, про изоморфный код ни фига не понял, и решил отстреляться проверенной темой про дотнет и ненависть.
> Толстячок как обычно все проспал, про изоморфный код ни фига не понял,
> и решил отстреляться проверенной темой про дотнет и ненависть.В то время как Фейсбук компилирует php в С++ снижая нагрузку на сервера чуть ли не в 2 раза, адепты javascript'а пихают его на сервер, чтобы и там впустую тратить процессорные циклы.
Кроме того "проверенная" дотнет уже давно реализовала изоморфность - ASP.NET на сервере и Silverlight на клиенте, который был благополучно убит. Так что проспали все как раз-таки Вы.
> В то время как Фейсбук компилирует php в С++ снижая нагрузку на
> сервера чуть ли не в 2 раза,Заметьте - С++, не Си и не ассемблер.
Т.е. учитывают сроки и стоимость разработки.
У них стоимость переписывания на С++ дешевле, чем стоимость серверных накладных расходов на PHP.
В меньших проектах - быстрее и дешевле добавить аппаратных мощностей.
Инструментарий Microsoft для разработчика - это какой-то казус белли. Ушел из Винды лет 10 назад только из-за этого. Все хорошо, кроме того, что они делают для разработчиков: плохие IDE, плохие языки, ужасные API, хелпы - решительно все плохо. И самое главное - все огромного размера, все требует гигабайтов, гигабайтов, гигабайтов...
Хороший мощный язык (компилятор, хелп, хедеры и либы для встраивания) занимает как правило 15-30 Мб. Как тута впихнуть гигабайт????? Спросите M$
Глупости. Когда я начинал использовать Qt, Creator еще не существовал, зато был замечательный плагин для студии. В студии все просто *работало*. Когда я пересел на линукс, отсутствие студии сказалось сразу. Более менее настроил KDevelop, но это была pain in the ass. Какие аналоги - эклипс? Так он потребляет гигабайты также аппетитно как и студия. Сейчас слава богу есть Qt Creator(созданный компанией между прочим), но и он у меня отъедает до 500 мегабайт оперативки на больших проектах. И это мы говорим о С++, заметьте. VS для C# в разы удобнее.А изначально речь шла о php, вы всерьез считаете что это недоразумение хоть как-то сравнимо с C#?
>вы всерьез считаете что это недоразумение хоть как-то сравнимо с C#?Возможно и нет. Но, вы же понимаете, платформа, на которой работает C#, никуда не годится, как серверная система. В результате, если выбирать C#+Win, или PHP+*nix большенство выбирает последнее.
VS патчить не получится, иногда , ну очень надо, ann... нет
> Куда Роберту Фриппу и Греггу Лейку до Джастина Биббера по количеству слушателей.Да, да, чем меньше поклонников, тем элитарнее.
Особенно хорошо проводить аналогии между инструментами разработки и элементами исскусства.> В своей ненависти к микрософту линуксоиды будут даже защищать такое откровенное УГ
> как php.Я раньше писал динамические странички на perl.
И с пеной у рта доказывал, что perl круче, чем php.
Так рьяно доказывал, что даже выигрывал споры.
Особенно все проникались насчет встроенных переменных, типа:
$' / $POSTMATCH - Подстрока, последующая за найденной подстрокой.
$- / $FORMAT_LINES_LEFT - Количество оставшихся строк на странице.Т.е. perl учитывает даже то, что будет.
Только вот... маловато сайтов на этом языке.
А как спорил, как спорил...)