Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 02.10.2013, 23:01
Аватар для vflash
Профессор
Отправить личное сообщение для vflash Посмотреть профиль Найти все сообщения от vflash
 
Регистрация: 09.07.2007
Сообщений: 304

Madzi,
если сравнивать камаз и жигули, то да. и тот и этот автомобиль.

у YUI больше с AMD общего
__________________
лучшая rss читалка zzreader.com
Ответить с цитированием
  #32 (permalink)  
Старый 02.10.2013, 23:04
Аватар для Madzi
Аспирант
Отправить личное сообщение для Madzi Посмотреть профиль Найти все сообщения от Madzi
 
Регистрация: 15.06.2013
Сообщений: 38

Не улавливаю аналогии.
Исходная задача - структурировать файлы (при разработке больших проектов). И в этом направлении я и сравниваю...
Ответить с цитированием
  #33 (permalink)  
Старый 02.10.2013, 23:31
Аватар для vflash
Профессор
Отправить личное сообщение для vflash Посмотреть профиль Найти все сообщения от vflash
 
Регистрация: 09.07.2007
Сообщений: 304

YUI,AMD - на клиенте
scmod - веб сервис

YUI,AMD - асинхронное подключение js файлов (разработка)
scmod - не асинхронное подключение js файлов (разработка)

YUI,AMD - один модуль , один js файл
scmod - один модуль , сколь угодно js файлов

YUI,AMD - область видимости кодишь сам
scmod - область видимости делает автоматом весь файл

YUI,AMD - строгий режим нужно выставлять самому
scmod - строгий режим делает автоматом

YUI,AMD - подключить старый код без доработки нельзя
scmod - подключить старый код без доработки можно

YUI,AMD - собирать проект в два файла не умеет
scmod - собирать проект в два файла умеет
__________________
лучшая rss читалка zzreader.com
Ответить с цитированием
  #34 (permalink)  
Старый 02.10.2013, 23:51
Аватар для Madzi
Аспирант
Отправить личное сообщение для Madzi Посмотреть профиль Найти все сообщения от Madzi
 
Регистрация: 15.06.2013
Сообщений: 38

Какие-то у вас не правильные сведения
Сообщение от vflash Посмотреть сообщение
YUI,AMD - на клиенте
scmod - веб сервис
YUI - работает как на клиенте, так и на сервере Node.js
У Yahoo ещё на его базе проект Mojito есть, когда сервер сам распределяет код, который будет выполняться на нём и на клиенте. На слабых клиентах - мало кода (основной код выполняется на сервере) и наоборот.

Сообщение от vflash Посмотреть сообщение
YUI,AMD - асинхронное подключение js файлов (разработка)
scmod - не асинхронное подключение js файлов (разработка)
Есть как асинхронное так и синхронное подключение файлов и несколько способов управления ими. + есть ленивая загрузка скриптов, т.е. можно загрузку прописать внутри скрипта в нужном месте и если до этого места логика не дойдёт, то скрипт не загрузится.

Сообщение от vflash Посмотреть сообщение
YUI,AMD - один модуль , один js файл
scmod - один модуль , сколь угодно js файлов
Можно собрать несколько модулей в один js файл, но зачем.

Сообщение от vflash Посмотреть сообщение
YUI,AMD - область видимости кодишь сам
scmod - область видимости делает автоматом весь файл
Область видимости в YUI определяется границей модуля:
// Модуль YUI
YUI.add('test', function (Y) {
//... песочница, ограничивающая код
});


Сообщение от vflash Посмотреть сообщение
YUI,AMD - строгий режим нужно выставлять самому
scmod - строгий режим делает автоматом
Строгий режим по-умолчанию стоит в компрессоре (yuicompressor), который сжимает скрипты перед продакшеном (обычно используют *-min.js файлы).

Сообщение от vflash Посмотреть сообщение
YUI,AMD - подключить старый код без доработки нельзя
scmod - подключить старый код без доработки можно
Почему нельзя - можно. Вставляешь в песочницу и всё ок.

Сообщение от vflash Посмотреть сообщение
YUI,AMD - собирать проект в два файла не умеет
scmod - собирать проект в два файла умеет
Можно собрать проект в любое количество файлов. Хоть отдать каждый файл по отдельности, хоть сборкой. Зависит только от настроек серверной части.
Ответить с цитированием
  #35 (permalink)  
Старый 03.10.2013, 00:20
Профессор
Отправить личное сообщение для tenshi Посмотреть профиль Найти все сообщения от tenshi
 
Регистрация: 20.03.2008
Сообщений: 1,183

> Строгий режим по-умолчанию стоит в компрессоре (yuicompressor), который сжимает скрипты перед продакшеном (обычно используют *-min.js файлы).

При разработке код должен быть максимально приближен к боевому с точностью до эквивалентных преобразований (например, безопасная минификация). Включать стрикт режим только для релиза - всё равно что ходить с заряженным пистолетом у виска
__________________
.ня
Ответить с цитированием
  #36 (permalink)  
Старый 03.10.2013, 00:22
Аватар для Madzi
Аспирант
Отправить личное сообщение для Madzi Посмотреть профиль Найти все сообщения от Madzi
 
Регистрация: 15.06.2013
Сообщений: 38

Сообщение от tenshi Посмотреть сообщение
> Строгий режим по-умолчанию стоит в компрессоре (yuicompressor), который сжимает скрипты перед продакшеном (обычно используют *-min.js файлы).

При разработке код должен быть максимально приближен к боевому с точностью до эквивалентных преобразований (например, безопасная минификация). Включать стрикт режим только для релиза - всё равно что ходить с заряженным пистолетом у виска
Никто не мешает писать так:
YUI.add('test', function (Y) {
    'use strict'
    //... код ...
});

Просто иногда попадается legacy код, на который легче закрыть глаза (отключить strict), чем переписать его. Поэтому опоциональность скорее плюс, чем минус.
Ответить с цитированием
  #37 (permalink)  
Старый 03.10.2013, 01:24
Аватар для vflash
Профессор
Отправить личное сообщение для vflash Посмотреть профиль Найти все сообщения от vflash
 
Регистрация: 09.07.2007
Сообщений: 304

Сообщение от Madzi
Строгий режим по-умолчанию стоит в компрессоре (yuicompressor), который сжимает скрипты перед продакшеном (обычно используют *-min.js файлы).
речь про 'use strict' , и он больше нужен для разработки чем для продакшена.
'use strict' частенько забывал добавить в код. а потом долгие поиски где что не работает. Отсюда и решение чтоб он по умолчанию всегда был включен. опционально также могу и выключить


имхо наш диалог путь в некуда. У меня не достаточно познаний в библиотеке YUI чтоб объективно вести диалог по поводу этой библиотеке. Судить могу только по примерам, которые мне сильно напоминают AMD.

Код AMD я изучал и ничего кроме костылей я там не увидел.
Асинхронная природа и необходимость ручного оборачивания модуля считаю критичной причиной не рассматривать AMD для проектов.
__________________
лучшая rss читалка zzreader.com

Последний раз редактировалось vflash, 03.10.2013 в 01:55.
Ответить с цитированием
  #38 (permalink)  
Старый 03.10.2013, 01:36
Аватар для vflash
Профессор
Отправить личное сообщение для vflash Посмотреть профиль Найти все сообщения от vflash
 
Регистрация: 09.07.2007
Сообщений: 304

Сообщение от Madzi
Почему нельзя - можно. Вставляешь в песочницу и всё ок.
как указать что этот файл зависит от других модулей но при этом не изменяя его ?
__________________
лучшая rss читалка zzreader.com
Ответить с цитированием
  #39 (permalink)  
Старый 03.10.2013, 02:34
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

vFlash.

А мне нравится ход твоих мыслей
Я примерно к похожим выводам приходил.

Но вот только для девелоперской версии, одним файлом отдавать не надо, так как отлаживать большой файл неудобно. Тем более его не стоит сжимать.

А вот в продакшене как раз одним сжатым файлом надо, и желательно сжатым предварительно.

в общем по одному описанию приложения должно собираться в двух вариантах, чтобы я добавил файл в описание и он и в продакшене будет и в девелоперской версии.

Что то вроде компилятора для продакшена (возможно на базе grunt) ,
и для девелоперов какой то загрузчик на клиенте который умеет забирать файлы описанные в json.
Как то так я себе это вижу.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 03.10.2013 в 02:48.
Ответить с цитированием
  #40 (permalink)  
Старый 03.10.2013, 03:02
Аватар для vflash
Профессор
Отправить личное сообщение для vflash Посмотреть профиль Найти все сообщения от vflash
 
Регистрация: 09.07.2007
Сообщений: 304

DjDiablo,
есть три основные команды sandbox, scripts, styles

sandbox как рас и есть дивелоперская версия. это небольшой js файл который использует document.write для вставки всех js и css с заранее подготовленной последовательностью. js при этом подключаются не на прямую а через специальное прокси которое немного модифицирует файл, но сохраняет положение строк как у оригинала.

document.write('...') нужен чтоб с одной стороны все было синхронно, с другой чтоб загрузка была в несколько потоков.


вот sandbox
http://scmod.vflash.ru/sandbox?src=h...s/replace.json

вот пример как выглядит js-файл после прокси
http://scmod.vflash.ru/file/6jyfv5/m...cram_notify.js
__________________
лучшая rss читалка zzreader.com
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не получается вставить код js в HTML garmoni Элементы интерфейса 3 05.09.2013 05:56
Обмен сообщениями между js загруженной страницы и расширением для браузера prihod Events/DOM/Window 6 11.12.2011 21:51
способы организации кода melky Общие вопросы Javascript 17 01.10.2011 22:57
изменение стиля для тега используя JS dimiork Элементы интерфейса 2 13.12.2010 10:47