Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.05.2015, 23:05
Профессор
Отправить личное сообщение для UIjs Посмотреть профиль Найти все сообщения от UIjs
 
Регистрация: 24.04.2015
Сообщений: 183

Новый фреймворк Mega
Ребят, давайте помогите мне придумать каких киллерфитч напихать в фреймворк этот. Я хочу сделать фреймворк на все случаи жизни решающий все проблемы пригодный везде везде, идеально сочитающийся с другими фреймворками например THREEjs. Чтобы был очень высокоуровневый но при том очень гибкий. Я хотел бы с вами его тут обсуждать, и отчиываться о том какие фитчи реализованы а какие нет. Так же есесино если кому идея понравится будем пилить вместе на гитхабе. В общем было бы офигенно использовать ваш опыт при его создании. А главное критику и недостатки которые я не могу заметить потому что со стороны то виднее).

Короче вот от меня фитчи че я хочу туда запихнуть (щас все абстрактно потому что как реализовать буду думать на следующей этапе)

1) Нужен ассинхронный рендеринг. Чтобы рисовалось только то, что должно отрисоваться на экране. Чтобы например список из 1000000 элементов рисовался мгновенно и рисовалась только та его часть которая сейчас видна на экране, но скроллеры при том и вся разметка должна вести себя так, как будто те элементы уже отрисованы.


2) Сверхбыстрый. Я вот думаю придумать какую то удобную модель данных, при том чтобы она имела такую штуку как "состояния" чтобы можно было сохранять состояние модели в JSON обьект. и восстанавливать его. Чтобы легко можно было делать ctrl + z грубо говоря. Активно должны использоваться сеттеры и геттеры. Это позволит нам мгновенно распространять взаимодействие между моделями. И если обнаружется что хоть какое то свойство всей общей модели данных изменилось, то эти изменения добавляются в очередь. Которая сканируется на наличие там изменений каждый requestAnimationFrame и рисуются (а модуль рисованися уже решает рисовать ли их физически или они не видны на экране и не нужно рисовать)


3) должна быть изоморфность. чтобы не дублировать логику на сервере и на клиенте. Чтобы писать один код а фреймворк сам разруливал что и где должно выполняться. Точнее вся логиа будет выполнятьяс и там и там. Бизнеслогика будет напирмер подсвечивать красным невалидный емейл. И этот же эмейл этим же алгоритмом проверки на валидность будет проверяться на сервере. Хотя сам алгоритм должен быть описан один раз. Предлагаю реализовать это в виде списков. Описываем такие сущности как списки и.т.п. и методы добавления в списки или выборки из них. И логику проверки там же. А фреймворк уже сам будет это с базой синхронить. Так же, по скольку у нас изоморфность, то этот же код летит и клиенту, и у него есть sql база в браузере. и если есть то тогда данные конкретного клиента должны там хранится и синхронится с серверными данными. И чтобы подгружались только изменения и была такая штука как версия данных. и.т.п. Для всего этого нужен бакенд на js, но он есть не у всех, по этому должна быть возможность использовать фреймворк только как клиентсайд, а сервер писать самому на чем угодно.


4) должна быть возможность удобной локализации интерфейса, например пишем в консоли mega.translate() и входим в режим переводчика и можем редактировать текст на сайте тыкая мышкой, и сохранить новый языковой пакет mega.translateEnd() и он предложит сохранимть JSON файлик с языком. Который фреймворк сам потом знает как подключить правильно и куда буквы расставить.


5) нужно чтобы фреймворк имел привязку не к размерам экрана а к пропорциям. Будем называть то типа фрймы. Описываем пропроции и даем этому фрейму имя "телефон" "планшет" "4:3" и далее можем или в стилях и в коде удобно использовать фреймсеты для верстки.


6) нужно придумать охеренную систему компонентов. придумать разные слои, взять лучшее от бем MCSS и.т.п. И все это применить к компонентам. Компоненты сайта должны состоять из шаблона логики и разметки. Компоненты должны легко мочь наследоваться друг от друга и расширяться. Надо придумать какой нибудь удобный способ описания компонентов, офигенный язык шаблонов компонентов чтобы можно было всякие рекурсии и ветвления описывать легко. А так же придумывать как наполнять сайт компонентами и как задвать им настройки. А так же как организовать взаимодействие между компонентами. Например у меня 10 чатов и вот этот вот один конкретный должен алерт делать при приходе сообщения. И.т.п.


7) Так же должен быть серверный рендеринг компонентов чтобы клиенту летела уже готовая страница. Но вся логика компонентов корректно зацеплялась за все эти развернутые перемешанные друг с другом шаблоны.


В общем надо собрать все лучшее из уже существующих фремворков соединить все это во едино и сделать лучше чем у них) иначе все это не имеет смысла.
Ответить с цитированием
  #2 (permalink)  
Старый 11.05.2015, 23:07
Профессор
Отправить личное сообщение для UIjs Посмотреть профиль Найти все сообщения от UIjs
 
Регистрация: 24.04.2015
Сообщений: 183

А я пока начну придумывать спецификации для всех этих фитч. И выкладывать их сюда. (так же приветствуется критика фитч за ненужностью и указанием альтернатив)


то есть я хочу вот типа того язык шаблонов запилить, тока чтобы не было привязки к языку. я хочу чтобы внутри шаблонов можно было программировать. вся логика компонентов должна быть связана с их отображением, то такого рода логику не грех пихать прямо в разметку. и не то что негрех так и НУЖНО ДЕЛАТЬ. так делает реакт. и это мы стырим. Бизнеслогика и все такое прочее будет в сервисах.

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





НО при том я хочу как то придумать способ чтобы человек мог в шаблоне программировать логику на любом подмножестве яваскрипта, и мы не диктовали бы ему. Я пока не знаю как это сделать но я думаю. Есть идеи?

А может ну его нафиг и сделать ES6 стайл только без скобочек как в кофескрипте. и с добавлением строковых кавычек вокруг <> ? Ну то есть прогоняется код твоего компонента через мой транслятор который там все <в кавычки оборачивает> а потом ты уже его сам через что хочешь прогоняешь. Если ты писал на яваскрипте, то не пргоняешь не через что, если писал на ES6 то прогоняешь через экму и.т.п. Как идея?

Последний раз редактировалось UIjs, 12.05.2015 в 02:00.
Ответить с цитированием
  #3 (permalink)  
Старый 12.05.2015, 00:39
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от UIjs
Есть идеи?
Да.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #4 (permalink)  
Старый 12.05.2015, 01:40
Профессор
Отправить личное сообщение для UIjs Посмотреть профиль Найти все сообщения от UIjs
 
Регистрация: 24.04.2015
Сообщений: 183

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

Последний раз редактировалось UIjs, 12.05.2015 в 02:07.
Ответить с цитированием
  #5 (permalink)  
Старый 12.05.2015, 02:26
Профессор
Отправить личное сообщение для UIjs Посмотреть профиль Найти все сообщения от UIjs
 
Регистрация: 24.04.2015
Сообщений: 183

Кстати критерии скорости такие что я ставлю себе планку рисовать
10 000 000 списки менее чем за 16 миллисекунд. Только что попробовал. Вроде теоретически возможно. (да да я понимаю похоже на немо, или как там его =) ток я на полном серьезе говорю)


UPD. ладно 1 миллион)) я кое что обдумал прост.

А вот кстати как будут описываться шаблоны:

<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/5FWXjEcqHN8?showinfo=0" frameborder="0" allowfullscreen></iframe>

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

UIjs, дам тебе дружеский совет (на правах старшего (по возрасту) товарища ): ты перфекционируешь топчешься на одном месте, я сам через это прошёл. Ты взвалил на себя слишком большой проект, который вряд ли доведёшь до конца и в итоге только потратишь время, а приобретаемый опыт сомнителен. Лучше займись каким-нибудь реальным проектом, в смысле для конечных пользователей, например, браузерную игрушку напиши или какой соц сервис. Без обид
__________________
kobezzza
code monkey
Ответить с цитированием
  #7 (permalink)  
Старый 12.05.2015, 10:29
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от UIjs
не оффтопь
Ты же понимаешь, что это очень тупо, подобное писать?!
Цитата:
Форум » Разное » Оффтопик » Новый фреймворк Mega

Сообщение от UIjs
Короче вот от меня фитчи че я хочу туда запихнуть
Сообщение от UIjs
1) Нужен
Сообщение от UIjs
3) должна
Сообщение от UIjs
4) должна
Сообщение от UIjs
5) нужно
Сообщение от UIjs
6) нужно
Сообщение от UIjs
7) Так же должен
Ты ломбард не пробовал открыть? У тебя бы получилось.

Сообщение от Gozar
Может перечислишь плюсы своей либы столбиком, чтобы был предметный разговор?
Уже существующие пожалуйста.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #8 (permalink)  
Старый 12.05.2015, 15:18
Профессор
Отправить личное сообщение для UIjs Посмотреть профиль Найти все сообщения от UIjs
 
Регистрация: 24.04.2015
Сообщений: 183

Сообщение от kobezzza
Ты взвалил на себя слишком большой проект, который вряд ли доведёшь до конца
видимо мы плохо знакомы.
Ответить с цитированием
  #9 (permalink)  
Старый 12.05.2015, 15:19
Профессор
Отправить личное сообщение для UIjs Посмотреть профиль Найти все сообщения от UIjs
 
Регистрация: 24.04.2015
Сообщений: 183

По делу есть кто хочет поговорить? Что на счет языка шаблонов? Удобно получается? Кто на реакте пишет? Лучше чем у них?
Ответить с цитированием
  #10 (permalink)  
Старый 12.05.2015, 15:24
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от UIjs Посмотреть сообщение
видимо мы плохо знакомы.
Ну хз, все начинания о которых ты писал тут ты так и не довел до конца. Те огрызки, что есть на гитхабе не считается.
__________________
kobezzza
code monkey
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Новый Ajax фреймворк dumbash AJAX и COMET 19 13.09.2013 17:52
Какой фреймворк выбрать? нужно а) компоненты формы б) ajax подгрузка объектов ... plazzzm Библиотеки/Тулкиты/Фреймворки 5 05.02.2013 17:41
Какой фреймворк выбрать gogo Библиотеки/Тулкиты/Фреймворки 4 11.12.2012 13:24
Как получить новый порядок элементов в сортируемом списке Непонятливый jQuery 1 11.10.2012 12:43
Новый элемент отсутствует в DOM модели StrSprut jQuery 4 19.09.2011 12:50