Pull to refresh
91
0

Пользователь

Send message
Вы посвятили второй абзац сравнению GWT + AJAX со способом получения готовых страниц (или кусков html-кода), полностью генерируемых на сервере, который (в контексте SPA) использовался со времён веб 1.0, в то время как AJAX, JSON, client-side templating, routing уже давно доступны + сегодняшний стэк HTML5. Не было бы этого некорректного сравнения — не было бы и моего комментария.

Во-вторых, я не писал «плохо решает». GWT пока всех полностью устраивает? — вот и отлично. Возможно скоро поменяются бизнес-процессы и люди захотят работать мобильно, с помощью планшетов или мобильных, а там свои нюансы и, я думаю, вы не станете отрицать, что стэк HTML5 там куда как актуальнее. Вот тогда и начнётся работа по оптимизации.
А ведь данных на странице обычно гораздо больше: заголовки, меню, различные блоки и т.д. Фактически, достаточно насыщенная данными и функционалом страница обычно весит не менее 100-200 кБ. GWT же для отображения такой же страницы заберет с сервера 1 кБ данных и всё.

На дворе 2006 год? И к тому же, давайте сравнивать котлеты с котлетами (тонкие клиенты или SPA), а не с олдскульной полной загрузкой HTML на каждый чих): XHR был ещё в IE5 в 1999 году; 2006 год — во всех популярных на тот момент браузерах.

Хотя я понимаю, почему вы используете GWT — веб-приложением занимаются явисты. Переход на стэк HTML5 — это новый отдел фронтендеров и соответственно другой бюджет отдела разработки. Возможно текущие задачи GWT решает (хоть и не лучшим способом). Но вы должны понимать, что вы отстаёте и чем дольше будете сидеть на нём, тем сложнее будет переход на современный стэк создания SPA, а это быстрая и комфортная работа с любого девайса, где есть браузер.

Если есть желание уже начать переходить, попробуйте начать писать клиент на Angular.js + HTML5 (на ангуляре пишутся большие корпоративные SPA — десятки тысяч SLOC).
Всё проще: кафе, WiFi, сниффер.

И ещё проще: хистори браузера.

Или вы предполагаете, что этой CMS будут пользоваться исключительно спецы по компьютерной безопастности? :)
Раз браузеры современные, то можно и на querySelectorAll переходить:

window.$ = document.querySelectorAll.bind(document);
$('#foo')[0].value;
$('#bar')[0].value;
// etc ...
В том-то и дело, в ui-router сделали возможность указывать столько ui-view, сколько душе угодно (в отличии от родного роутера и ng-view). Советую пройтись по вики (там чтения на 10 минут).
Его относительно недавно зарелизи, до этого было достаточно объёмное обсуждение каким должен быть идеальный роутер :)
По мне, концепт стейтов, который сделали — отличная идея.
На оф. сайте есть туториал, но, имхо, лучше бы они туда сразу вставили ссылку на egghead.io.

Второе, что лучше изучить, это Angular UI и их отличный роутер.

Третье — ngmodules.org.
Backbone всё-таки не фреймворк, а библиотека-основа и как уже отметили выше, используется с разными модулями на выбор разработчика. Meteor слишком специфичная штука, завязанная на своей экосистеме, «вещь в себе».

Angular корректнее сравнивать с Knockout (ключевое отличие).

В последнее время всё чаще и чаще вижу как коллеги-фронтендеры переходят с backbone на angular (я в том числе).

Лично моё мнение, angular среди фреймворков, на данный момент, самый продвинутый (как в смысле фич, гугловской команды, так и продвижения в коммьюнити).

Картинка в тему:
Для анимаций лучше использовать requestAnimationFrame и transform: translateX[Y] (поддержка gpu) в купе с фоллбэками для старых браузеров.

Советую посмотреть исходники скроллера Sly и статью Leaner, Meaner, Faster Animations with requestAnimationFrame.

Разница может быть такой (а в мобильных браузерах она будет особенно заметна):
Вам шашечки или ехать? Ценность сего текста в цифрах и выводах, а не литературном слоге.

Автору спасибо за ценный материал.
Если под нормальные браузеры (w/ localStorage) и только hh:mm:ss, можно уложиться в:

(function countdown(sec, elementId) {

  var el = document.getElementById(elementId),
      ls = localStorage,
      ls.sec = ls.sec || sec;

  (function tick() {
    var sec = ls.sec--;
    el.innerHTML = [
      sec / 3600 % 24 | 0,  // h
      sec / 60 % 60 | 0,    // m
      sec % 60              // s
    ]
    .map(function(i) {
      return i < 10 ? '0' + i : i;
    })
    .join(':');

    if(sec) setTimeout(tick, 1000)
    else el.innerHTML = 'Time is over!';
  })();

})(100, 'some-element-id');


P.S. стоит внимательно посмотреть свой код на предмет наличия глобальных переменных.
Ваша «подсказка» увеличит расстояние до пирожка раз этак в 40 :)
Без сравнение чего? код то же.
$ cat /proc/cpuinfo
>> Intel(R) Xeon(R) CPU L5520 @ 2.27GHz

$ node -v
>> v0.8.10

$ node fannkuch.js
73196
Pfannkuchen( 10 ) =  38
time =  0.682682991027832
Так давно же есть фулскрин-режим — кнопкой P включается.
2.1. А большие мониторы будут? — я думаю это будет более востребовано, т.к. народ ходит с ноутами.

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity