Javascript.RU

Результаты опроса: Как вам UI
Похоже на унылое говно 20 68.97%
Однозначно буду использовать 7 24.14%
Пока не разобрался что это 2 6.90%
Голосовавшие: 29. Этот опрос закрыт

Создать новую тему Ответ
 
Опции темы Искать в теме
  #311 (permalink)  
Старый 25.10.2013, 06:40
Аспирант
Посмотреть профиль Найти все сообщения от __Maxmaxmaximus__
 
Регистрация: 25.10.2013
Сообщений: 30

Сообщение от Shaci
хотя я не верю, что у тебя что-то получится
А тя не смущает что оно УЖЕ работает)?


FRP в действии - Ни одного события, просто задекларированное состояние системы:

<script src="http://mychamber.ru/lib/ui.js"></script>
<style type="text/css">  .todo:hover { background-color : #b7e2ff } </style>



<div ui="widget">
  <div for="todos as todo" class="todo">
    <input bind="todo.selected" type="checkbox">
    {todo.selected} | {todo.text}
  </div>

  <hr>

  <div for="selectedTodos as todo" class="todo">
    {todo.text}
  </div>
</div>



<script>
  ui['widget'] = function() {

    this.todos = [
      {text: 'погулять ', selected: false},
      {text: 'попить пива', selected: false},
      {text: 'разработать ui', selected: false},
      {text: 'покакать', selected: false},
      {text: 'сжечь документацию ангуляра', selected: false}
    ];

    this.selectedTodos = '{todos.filter(todo=>todo.selected)}';

  };
</script>


Тут показаны все фитчи: FRP, стрелочные функции и формулы =)


События селекторы и коллекции конечно тоже работают, там первым аргументом передается $ который всем этим занимается аля jQuery, но мы планируем от него отказаться в пользу полной декларативности =) по этому я его не использовал в демо и убрал половину примера ToDo (например убрал кнопочки добавления и удаления тудушек)

В будущем в формулах кстати можно будет использовать специальные значения вроде $mouse.x или $location и.т.п.

Последний раз редактировалось __Maxmaxmaximus__, 25.10.2013 в 07:24.
Ответить с цитированием
  #312 (permalink)  
Старый 25.10.2013, 10:28
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

__Maxmaxmaximus__,
ты хотя бы обернул код в Function Expression .
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #313 (permalink)  
Старый 25.10.2013, 14:06
Аспирант
Посмотреть профиль Найти все сообщения от __Maxmaxmaximus__
 
Регистрация: 25.10.2013
Сообщений: 30

Сообщение от cyber
ты хотя бы обернул код в Function Expression
спасибо но пока это не требуется) я ж не выпускал еще. хотя щас как раз всякие константы выносить в переменные буду, заодно и оберну.

Сообщение от Дзен-трансгуманист
ничего не смущает?
Спасибо) друга попросил составить коды и названия) на будущее, составил блин)


p.s. Прошу модерацию форума вынести предупреждение человеку, оскорбившему меня, от зависти, в карму. Спасибо.

Последний раз редактировалось __Maxmaxmaximus__, 25.10.2013 в 14:23.
Ответить с цитированием
  #314 (permalink)  
Старый 25.10.2013, 20:00
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

__Maxmaxmaximus__, и что ты код лучше сжался лучше делать так.
К примеру

(function () {
 var HTM_proto__ = HTMLParser.prototype;

 function HTMLParser() {
  // body function
  }
HTM_proto__._splitTextNodesAtTheTags  = function () {

};


window.HTMLParser = HTMLParser;
} ());


П.с __Maxmaxmaximus__ и хватит уже разводить срачь, если хочешь что не "бросали камнями"
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #315 (permalink)  
Старый 25.10.2013, 20:30
Аспирант
Посмотреть профиль Найти все сообщения от __Maxmaxmaximus__
 
Регистрация: 25.10.2013
Сообщений: 30

Сообщение от cyber
и хватит уже разводить срачь
Приведи хотя бы один пример когда я разводил срач за последние месяца 3.

Сообщение от cyber
и что ты код лучше сжался лучше делать так.
а гугл компиллер в экстримальном режиме сможет заинлайнить такие методы?
Ответить с цитированием
  #316 (permalink)  
Старый 25.10.2013, 21:04
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

__Maxmaxmaximus__,
хм я ошибся, я почему то думал что лучше сожмет, а получилось так, так что забей.
(function(){function a(){}a.prototype._splitTextNodesAtTheTags=function(){};window.HTMLParser=a})();
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #317 (permalink)  
Старый 26.10.2013, 00:17
Аспирант
Посмотреть профиль Найти все сообщения от __Maxmaxmaximus__
 
Регистрация: 25.10.2013
Сообщений: 30

Сообщение от cyber
я почему то думал что лучше сожме
А ни чо что на сайте статьи есть и тесты как оно лучше сжимается)?
Что мыл елси способом как я делать то он инлайнит функции доставая код из них и обьединяя в одну функцию и.т.п. ты не читал?
Ответить с цитированием
  #318 (permalink)  
Старый 26.10.2013, 01:02
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от __Maxmaxmaximus__
p.s. Прошу модерацию форума вынести предупреждение человеку, оскорбившему меня, от зависти, в карму. Спасибо.
Хочешь, чтобы она утвердила тебе карму?! Ты сам выбрал этот путь, тот который у тебя в карме. Так что хватит ныть, выкладывай свой код и начинай писать на него доки. А то как гласит твоя карма, ты на форуме не популярен.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #319 (permalink)  
Старый 26.10.2013, 14:18
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Дзен-трансгуманист, вопрос конечно не в тему, но... почему у тебя всегда "Сообщений: 207"? Не зависимо сколько пишешь ты сообщений на форум.
Ответить с цитированием
  #320 (permalink)  
Старый 26.10.2013, 15:55
Аспирант
Посмотреть профиль Найти все сообщения от __Maxmaxmaximus__
 
Регистрация: 25.10.2013
Сообщений: 30

Сообщение от Дзен-трансгуманист
Плюс 1К, минус 1К - сотня килобайт кода парсится за считанные миллисекунды. Экономить их, все равно что копейки на дороге подбирать.
Архитектура это основа функциональной модели - ее нужно писать с упором на гибкость и целостность внутренней структуры, а не исходя из объема кода.
я вчера это осознал и рефакторю вторые сутки) в принципе как не странно абстракция поднялась а обьем кода уменьшился, и все стало логичнее. Инкапсулировал некоторые штуки в классы. Оч много думал где есть НУЖДА создать сущнгость а где нету. Боялся что Окам придет за мной с бритвой) В итоге создание сущности Scope позволило дико оптимизировать рендеринг, добавил систему подписок и дерево зависимостей и все это смотрится красиво и логично)

Раньше у меня был обсервер который при эплаях смотрел что в модели изменилось а что нет, и перерендеривал то что изменилось. Щас же я просто анализирую код который может что-то изменить и смотрю что он МОГ изменить а что НЕТ, потом проверяю это на изменения и запускаю дерево зависимостей сделать перерасчеты этих веток дерева)

Последний раз редактировалось __Maxmaxmaximus__, 26.10.2013 в 15:58.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обсуждений тред cyber Оффтопик 2130 03.10.2018 08:10
React'а тред melky Оффтопик 246 13.11.2016 08:07
Webpack'а тред nerv_ Сборка проекта, утилиты 58 07.05.2016 13:46
Github Atom'а тред melky Оффтопик 16 01.04.2015 07:44