Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #221 (permalink)  
Старый 30.08.2014, 12:02
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,583

Сообщение от kobezzza Посмотреть сообщение
Это избавило бы разработчики от необходимости следить за изменениями в коде счётчика,
Зато заставило следить за этим автора движка.) И скорость реакции на внезапные критические изменения таки будет медленней.
__________________
29375, 35
Ответить с цитированием
  #222 (permalink)  
Старый 30.08.2014, 12:35
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от Aetae Посмотреть сообщение
Зато заставило следить за этим автора движка.) И скорость реакции на внезапные критические изменения таки будет медленней.
Тоже верно, посмотреть есть ли API у сервисов для получения кода счётчика, хотя можно парсить страничку с примером, но это не надёжно, т.к. вёрстку могут также поменять.
__________________
kobezzza
code monkey
Ответить с цитированием
  #223 (permalink)  
Старый 30.08.2014, 12:45
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Вообще для Snakeskin прям напрашивается boilerplate либа, которая реализует, например, макеты на bootstrap и пласт полезных функций, аля

- proto base->icon(type)
    < span class = fa #{type}

-template base()
    - doctype
    < html
        < head
            < title :: {title = 'Заголовок' ?}
            - block scripts
                < cdn bootstrap
                < cdn fontawesome
        < body
            - block body

- proto classic->menu(list)
    - forEach list => @el
        ...

-template classic() extends base
    - block scripts
        - super
        < cdn jquery-ui

    - block body
        /// Тут идёт вёрстка макета и разбинение на блоки для наследования


И уже при самой разработке можно было бы просто подключать нужный файл и наследовать шаблон от него.

Тоже самое и для UI, причём шаблоны удобно делать как метод класса UI контрола,

- template Button.prototype.tpl() extends Base.prototype.tpl
    ...

- template SuperButton.prototype.tpl() extends Button.prototype.tpl
    ...
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 30.08.2014 в 12:50.
Ответить с цитированием
  #224 (permalink)  
Старый 30.08.2014, 12:52
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от kobezzza
Как считаете?
имхо, не нужно переизобретать стандарт Web Components (не то чтобы ты этим занимаешься, но эти директивы уже на 99% похожи на кастомный элемент, а это уже другая стизя)

есть ли способ дополнить этот стандарт или засахарить его?

и ещё .. подсветка кода!!!
Ответить с цитированием
  #225 (permalink)  
Старый 30.08.2014, 12:56
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Цитата:
имхо, не нужно переизобретать стандарт Web Components (не то чтобы ты этим занимаешься, но эти директивы уже на 99% похожи на кастомный элемент, а это уже другая стизя)
Но ведь это не директивы UI, а снипеты подключения, например cdn bootstrap подключит с CDN твиттера сразу и jquery, bootstrap.js, bootstrap.css последней версии, это же оч удобно.

Цитата:
и ещё .. подсветка кода!!!
Ну, в WS хужо бедно всё норм: подсветка и автокомплит настраиваются, обработка ошибок на уровне FileWatcher и отладчика SS.

В notepad++ подсветку также настроить легко через настройки->добавить язык. А вот в sublime я просто хз, но я не думаю, что там что прям эпик.

Вот что действительно нужно добавить, т.к. это флаг --watch для компилятора, чтобы он сам пересобирал необходимые шаблоны, т.к. всякие File Watcher -ры делают это не совсем корректно, например,


base.ss
...


foo.ss
- include 'base.ss'


Файл foo.ss зависит от base.ss и при изменении base.ss нужно перекомпилить также foo.ss, но простой Watcher это не сделает, т.к. он не в курсе про граф отношений файлов - это знает только SS.

И конечно нужно доработать модули, без этого никак.
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 30.08.2014 в 13:36.
Ответить с цитированием
  #226 (permalink)  
Старый 30.08.2014, 13:10
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Цитата:
имхо, не нужно переизобретать стандарт Web Components
Стандарта ещё нет толком и не факт, что он будет конфетой.

Я в своём проекте использую похожий подход, есть

.styl
.b-button {
    @extends i-base;
    ...
}


.ss
- template bButton.prototype.tpl() extends iBase.prototype.tpl
   ...


.js
// ES6 торт :)
class bButton extends iBase {
   ...
}


А подключение того или иного модуля делается через b-button.json, где описаны зависимости и т.д.

{
	"block": "b-button",
	"extends": "i-base",
	"use": [
		"logic",
		"style",
		"tpl"
	]
}


Вызов такого блока в другом шаблоне выглядит примерно так:

/// директива bem - это часть фреймворка
- bem b-button value: '...', size: 'xxl', style: 'dark'


Дополнительная крутость в том, что SS поддерживает БЭМ и локализацию на уровне синтаксиса, а блок может быть полностью отрендерен как на сервере, так и на клиенте без внесения изменений в код. Восхваляемый всеми Jade не умеет и 1/10 от фич SS - это объективный факт.

Удобнее такого подхода за 7 лет проганья на JS я пока не видел
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 30.08.2014 в 14:15.
Ответить с цитированием
  #227 (permalink)  
Старый 30.08.2014, 13:23
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Для меня в WebComponents самое ценное - это Shadow DOM, а остальное странные приблуды (те же кастомные элементы уже 100 лет как можно юзать, и более того их уже давно юзают, см гугло или яндекс карты). В лучшем случае эти модули можно будет использовать как пласт для более абcтрактных фреймворков, а не как конечный API.
__________________
kobezzza
code monkey
Ответить с цитированием
  #228 (permalink)  
Старый 30.08.2014, 16:36
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Улучшил доку, добавил новые главы.
__________________
kobezzza
code monkey
Ответить с цитированием
  #229 (permalink)  
Старый 05.09.2014, 20:59
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Одной из новых фич, которые войдут в будующий релиз Snakeskin будет новый вариант трансляции шаблонов - в императивный DOM, т.е.

< span.foo
    hello world!


Превратится в

var _ = document.createElement('span');
_.setAttribute('class', 'foo');
_.appendChild(document.createTextNode('hello world'));


Такое расширение уже поддерживается движком Snakeskin, поэтому фича довольно легко реализуемая.
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 05.09.2014 в 21:17.
Ответить с цитированием
  #230 (permalink)  
Старый 05.09.2014, 21:51
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Также в SS 4.2 будут серьёзно доработаны модули, т.к. сейчас они сделаны лишь наполовину, например появится такая важная возможность, как

- include 'foo.ss' as placehoder
- include 'foo.ss' as interface


Т.е. все шаблоны в подключаемом файле будут представлены либо как placeholder, либо как interface.

Также появится возможность задавать флаги компилятора для каждого файла отдельно, причём работать они будут по принципу наследования-переопределения родительских свойств (т.е. свойств файла родителя).
__________________
kobezzza
code monkey
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
express-snakeskin - view через snakeskin для express melky Ваши сайты и скрипты 5 10.06.2014 11:35