Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   LiquidLava - альтернатива Angular и Ember (https://javascript.ru/forum/project/48359-liquidlava-alternativa-angular-i-ember.html)

kogarashisan 30.06.2014 22:35

LiquidLava - альтернатива Angular и Ember
 
Здравствуйте!
Хочу представить сообществу свой новый фреймворк, который по возможностям уже может сравниться с такими монстрами как Angular и Ember. Все то же самое, только лучше.

Я написал статью на хабр, но инвайт мне за нее не дали, поэтому теперь пишу на тематические сайты и ищу людей, которым это интересно, и которые будут им пользоваться.
http://habrahabr.ru/sandbox/84165/

Просьба ознакомиться с примерами и написать ваше мнение. И если понравилось - то рассказать всему остальному миру.

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

UPD
Статью скоро уберу и перепишу.
Сайт фреймворка: http://www.lava-framework.com/
Примеры виджетов: http://www.lava-framework.com/www/widgets.html
Примеры: http://www.lava-framework.com/www/examples.html
GitHub: https://github.com/kogarashisan/LiquidLava/
Канал с русскими видео учебниками: https://www.youtube.com/channel/UCHV...pVskftnrg/feed

Octane 01.07.2014 00:34

Каких недостатков Angular и Ember лишен твой фреймворк?

[offtop]Максимуса опять забанили или чо он со своим UI притих? :D[/offtop]

kogarashisan 01.07.2014 01:42

Всех. Я серьезно.
Я создал свой фреймворк после того, как у меня не получилось работать с этими + пробовал Ext.
Сам я профессионал, но в то время еще не специализировался на яваскрипте.

Итак, первое отличие - это исходник.
На исходник Angular и Ember лучше не смотреть. Это больше похоже на ассемблер, а не на яваскрипт.
Что у меня: немного plain JS объектов, а остальное - это классы.

То есть, вы всегда знаете что происходит. Все прозрачно, и разобраться можно очень быстро.
В отличии от аналогов...

Кстати, если зайти на сайт Angular - там анимация в примерах моргает.
Моя - нет. У меня качественную анимацию написать проще, чем моргающую.

Давай сюда Макимуса!:)

melky 01.07.2014 09:40

ого, сколько релизов)

Octane 01.07.2014 10:14

Цитата:

Сообщение от kogarashisan
Итак, первое отличие - это исходник.
На исходник Angular и Ember лучше не смотреть. Это больше похоже на ассемблер, а не на яваскрипт.

Может быть ты на минифицированные версии смотрел? :D

У нас тут не желтый хабр, нам интересны подробности, чем конкретно лучше:

1. Лучше код - лучше потому что ты его написал и он тебе понятен? или какие конкретно реализации методов и других частей кода Angular и Ember у тебя вызывают сомнения, как ты исправил это в своем фреймворке?

2. Лучше анимация - за счет чего достигается более высокая плавность твоей реализации анимации, почему тормозит анимация в Angular?

devote 01.07.2014 11:31

Цитата:

Сообщение от kogarashisan
На исходник Angular и Ember лучше не смотреть. Это больше похоже на ассемблер, а не на яваскрипт.

а вот это по твоему похоже на JS:
_descriptor_to_type: {
		"[object Boolean]": 'boolean',
		"[object Number]": 'number',
		"[object String]": 'string',
		"[object Function]": 'function',
		"[object Array]": 'array',
		"[object Date]": 'date',
		"[object RegExp]": 'regexp',
		"[object Object]": 'object',
		"[object Error]": 'error',
		"[object Null]": 'null',
		"[object Undefined]": 'undefined'
	},

"\r\n\t\t\t</tbody>\r\n\t\t</table>\r\n\t"
дальше мне смотреть стало лень.

kogarashisan 01.07.2014 11:51

"\r\n\t\t\t</tbody>\r\n\t\t</table>\r\n\t"
- это же скомпилированный шаблон. Туда смотреть как-бы не надо.
Лучше посмотри из чего и чем он собирается.

"а вот это по твоему похоже на JS"
Что же здесь плохого? Кстати, это взято из Firestorm, Firestorm разрабатывается как альтернатива таким фреймворкам как JQuery и MooTools. Там иногда приходится писать код, который ближе к браузеру, чем к программисту.

"ого, сколько релизов)" - это просто комментарий к коммиту, к этому можно было бы и не цепляться. Релизы там отдельно, ссылка Releases, а не Commits.

"Может быть ты на минифицированные версии смотрел?"
На Хабре в частности есть статьи типа
"AngularJS: нестандартное поведение ng-if"
"AngularJS — Вы уверены, что знаете как работает ng-if?"
- откуда они берутся? Если ты откроешь исходник Angular то разобраться как работает ng-if очень тяжело, если вообще возможно. Поэтому весьма логично что люди открывают для себя всякие нестандартные поведения этого кода.

(2) Анимация в Angular не тормозит. Она моргает, глючит. Там у вас нет уверенности, что то что вы написали будет работать завтра так же хорошо как сегодня.

(1) Angular - это монолитный кусок кода. В отличии от моего фреймворка. Ты пробовал писать на Angular?
На вопрос "чем лучше" как-бы очень тяжело ответить в теории. Здесь лучшим ответом будет "посмотри в код и почувствуй разницу".

Octane 01.07.2014 13:24

Цитата:

Сообщение от kogarashisan
Если ты откроешь исходник Angular то разобраться как работает ng-if очень тяжело, если вообще возможно.

Что-то не вижу в 45 строчках кода ничего пугающего https://github.com/angular/angular.j...ective/ngIf.js

kogarashisan 01.07.2014 13:51

Вот целых 2 статьи про эти 45 строчек:
"AngularJS: нестандартное поведение ng-if"
http://habrahabr.ru/post/225243/
"AngularJS — Вы уверены, что знаете как работает ng-if?"
http://habrahabr.ru/post/225891/

Если все так просто - то почему все так сложно?
Вот мой IF - это действительно прозрачный и понятный класс. И там ты гарантированно контролируешь, что находится в DOM, а что нет.
В моем фреймворке отсутствует такое понятие как "хак".

DjDiablo 01.07.2014 13:59

Если бы ты не выступал в стиле "Я профессионал и написал лучший в мире фреймворк" то может быть инвайт бы тебе и дали.

kobezzza 01.07.2014 14:14

Цитата:

Сообщение от DjDiablo (Сообщение 318977)
Если бы ты не выступал в стиле "Я профессионал и написал лучший в мире фреймворк" то может быть инвайт бы тебе и дали.

Угу, скромность украшает, если вы не Джон Кармак:)

kogarashisan 01.07.2014 14:18

Согласен с обоими. Буду пытаться исправить ситуацию.

krasovsky 01.07.2014 14:52

Я может быть ошбиаюсь, но не вижу никакого особого преимущества в том что исходники "легкочитаемы". Сейчас табун всяческих инструментов, просто само знание которых необходимо что бы быть "продвинутым спецом" и получить хорошую работу,и это список пополняется, что то выходит из моды , от чего то наоборот начинают писаться кипятком.
Так какой смысл к тому же еще и лезть "под капот" каждому из них? Мне нет никакого дела до того что там - главное это его качество и ресурсоемкость.

Кстати если написание подобного софта имело целью получить инвайт на хабре, то....
Даже объективно смотреть - странно выглядят заявления о том что это уже лучше чем тот же ангулярик, я уж не говорю о том что написав подобный софт в одну каску багов в нем найдется самосвал.
И еще эту софтину писал 1 чел, сколько человек будет ее поддерживать,релизить/фиксить баги?

kogarashisan 01.07.2014 15:49

"если написание подобного софта имело целью получить инвайт на хабре"
- ни один человек в здравом уме не стал бы такое делать.

"Так какой смысл к тому же еще и лезть "под капот" каждому из них"
- когда твои задачи выходят за рамки "создать кнопку, которая выводит alert", вот тогда и появляется необходимость в понимании, как работает инструмент. И самое печальное, что при работе с Angular у тебя возникают очевидные и элементарные вопросы, ответов на которые в интернете нет. И тут уже приходится лезть в код, хоть и сильно не хочется.

Насчет спецов и работы - это ведь твое собственное мировоззрение. Ты готов работать с этими инструментами чтобы иметь хорошую работу и считаться специалистом. Мне эти инструменты не нравятся, поэтому создаю свои.

Про баги: у Angular если зайти на трекер - там тыщи багов. Я даю гарантию, что у меня багов почти нет, во-первых потому что в коде Lava стоит больше 2500 проверок, во-вторых потому что у меня архитектура несвязанная. Если Angular - это один большой монолитный кусок кода, в котором все связано со всем, то мой - это самостоятельные классы, ООП.
Фиксить их буду я, бросать не собираюсь, буду развивать и поддерживать.
Следи за новостями - убедишься.

PS
Пример: у меня шаблоны можно собрать на сервере и выбросить шаблонизаторы из сборки - больше они не нужны. Анимацию можно выбросить, если не надо. Слой данных можно выбросить.
Классы можно собрать на сервере, и выбросить 90% менеджера классов.

devote 01.07.2014 15:58

Цитата:

Сообщение от kogarashisan
... чтобы иметь хорошую работу и считаться специалистом. Мне эти инструменты не нравятся, поэтому создаю свои.

... что бы не иметь хорошую работу и не считаться специалистом.

Цитата:

Сообщение от kogarashisan
у Angular если зайти на трекер - там тыщи багов.

Не удивительно, ведь тестирует тысячи разработчиков.

Цитата:

Сообщение от kogarashisan
Я даю гарантию, что у меня багов почти нет, во-первых потому что в коде Lava стоит больше 2500 проверок, во-вторых потому что у меня архитектура несвязанная.

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

Цитата:

Сообщение от kogarashisan
то мой - это самостоятельные классы, ООП.

ох...

Цитата:

Сообщение от kogarashisan
PS
Пример: у меня шаблоны можно собрать на сервере и выбросить шаблонизаторы из сборки - больше они не нужны. Анимацию можно выбросить, если не надо. Слой данных можно выбросить.
Классы можно собрать на сервере, и выбросить 90% менеджера классов.

Ну и напоследок выбросить оставшееся и писать себе спокойно используя VanilaJS.

nerv_ 01.07.2014 16:16

kogarashisan, чтобы процитировать текст, достаточно его выделить и нажать кнопку "Цитата выделенного".

Цитата:

Сообщение от kogarashisan
"если написание подобного софта имело целью получить инвайт на хабре"
- ни один человек в здравом уме не стал бы такое делать.

пока мы не выяснили в здравом уме ты или нет :)

Пока я вижу в тебе того человека, кот. не смог разобраться с ангуляром и написал свой велосипед.

Цитата:

Сообщение от kogarashisan
Про баги: у Angular если зайти на трекер - там тыщи багов. Я даю гарантию, что у меня багов почти нет

детский сад :)

Цитата:

Сообщение от kogarashisan
Если Angular - это один большой монолитный кусок кода, в котором все связано со всем, то мой - это самостоятельные классы, ООП.

мои опасения касательно "он тот человек, который не разобрался с ангуляр" оправдываются)

Код, в которым нет ошибок состоит из 0 символов :)

Цитата:

Сообщение от kogarashisan
В моем фреймворке отсутствует такое понятие как "хак".

хак так!? :D

melky 01.07.2014 17:40

Цитата:

Сообщение от nerv_
Пока я вижу в тебе того человека, кот. не смог разобраться с ангуляром и написал свой велосипед.

Nerv aka Angular jedi :)

kogarashisan 01.07.2014 17:50

"что бы не иметь хорошую работу и не считаться специалистом."
- у тебя самого самомнение раздутое. Иначе ты бы не стал называть других дураками.

"Не зарекайся, уж поверь по опыту знаю что такое думать что багов нет"
- багов нет потому что большинство я уже исправил, то есть это уже более-менее зрелый продукт. Само собой, они еще будут, но не в таких количествах. У меня ядро раз в 10 меньше, чем Angular.

Цитата:

Сообщение от nerv_
пока мы не выяснили в здравом уме ты или нет

Так выясняйте.

Цитата:

Сообщение от nerv_
Сообщение от kogarashisan
В моем фреймворке отсутствует такое понятие как "хак".
хак так!?

Ты что, программ без хаков не видел? А как же паттерны, архитектура?

Цитата:

Сообщение от devote
Ну и напоследок выбросить оставшееся и писать себе спокойно используя VanilaJS.

не к чему больше прицепиться?

nerv_:
Перед тем, как начать писать свой - я разобрался в их исходниках. Но ровно настолько чтоб собрать требования.
В чем-то ты прав: я не смогу написать серьезное приложение на Angular, ибо не знаю его настолько хорошо.
А в чем-то не прав: незнание Angular не делает меня менее профессиональным, чем те, кто его знает.

krasovsky 02.07.2014 14:26

Я ни в коей мере не умоляю того что вероятно ты сделал годную альтернативу (хотя не знаю насколько годную) и того что если оно так, то руки у тебя не из заднего кармана.

Но по крайней мере в фундаментальных вещах нужно быть поскромнее - баги проверок не боятся и не проверками исправляются.....я имею в том числе и опечатки, и неверные вычисления. И они есть у всех, в любом софте, даже в софте гугла.
Сюда же я сразу тебе отнесу и такие вещи как то что одна голова может сделать хорошую вещь, но несколько наверняка найдут лучшее решение. То есть там где один и не подозревал другому может прийти лучшая идея. Не бывает такого, чтобы 1 сделал лучше чем 100. Так что чрезмерно хвалить свое творение рано.

А насчет использования инструментов - ну я тут проблем не вижу, пользуйся только своим или только тем что нравится, но не надейся что придя туда где у команды сложился общий стиль и интсрументарий что все пересядут по первому твоему требованию на то что ты сказал "правильно". Скорее ты сядешь на троллейбус до дома. Устраивает такое положение вещей - нет проблем.

kogarashisan 02.07.2014 23:47

Цитата:

Сообщение от krasovsky
Скорее ты сядешь на троллейбус до дома. Устраивает такое положение вещей - нет проблем.

Тебе так хочется меня обидеть? Говоришь так, как-будто я прищемил тебе яйцо своим постом.

Цитата:

Сообщение от krasovsky
Так что чрезмерно хвалить свое творение рано.

Угу, я это уже понял. Исправляюсь понемногу. Скоро будет документация и новые фичи. И кричать буду тише.

Моя цель - не пересадить конкретно твою команду на свой инструмент, а найти людей, которым он нужен, и которые будут им пользоваться. Собрать свое сообщество. Немного разница есть.

krasovsky 03.07.2014 07:43

Цитата:

Сообщение от kogarashisan
Тебе так хочется меня обидеть?

Глупость.

Цитата:

Сообщение от kogarashisan
а найти людей

Если софт годный - люди будут пробовать и в итоге, придут сами. За рога ты никого не притянешь.


Часовой пояс GMT +3, время: 16:22.