Автозаполнение input браузером

fixxxer

К.О.
Партнер клуба
ну так и я говорю - если исходить из :)

если это интернет-магазин, где в основном разовые покупки, или продающий офлайн-услуги сайт, на который пользователи попадают в основном в первый раз - это одно, там это все действительно ни к чему

а если это социалка или новостной сайт с ядром постоянных посетителей - это другое

проще говоря, то, что является сайтом - сайтом и останется, а то, что было сайтом но по сути приложение - станет приложением

простая проверка - если имеет смысл делать мобильное приложение, то имеет смысл делать и веб-приложение :)
 
Последнее редактирование:

grigori

( ͡° ͜ʖ ͡°)
Команда форума
ну так я и говорю - если ваш сайт не фейсбук :)

meduza отлично работает без js на чистом css
 

fixxxer

К.О.
Партнер клуба
meduza отлично работает без js на чистом css
оу, это относительно недавно, кстати. серверный рендеринг реакта прикрутили, видимо.

я месяца 4 назад смотрел, в коде вообще не было ни строчки html, если не считать таковым <body> и обвязку
 

hell0w0rd

Продвинутый новичок
Это несерьезно :) Тут как раз подход с virtual dom правильный. Вообще идеи flux и react хорошие, реализация только дурная - ну как всегда у фейсбука.
А можешь про реализацию сказать, что конкретно не нравится?
И что про "как всегда у fb"? hhvm - ни о чем?)
 

fixxxer

К.О.
Партнер клуба
К flux претензий особо нет на самом деле, а реакт дурной с его глобалсами, не говоря уж о мерзком JSX :)

Насчет "как всегда" - это я им до сих пор не могу простить то, что они сделали с мемкешом. :) Прикрутили свои дурные треды с глобальным локом - а чо, на их 16-ядерниках норм :) Я много лет пакет 1.2 ручками собирал. Недавно только довели до ума.
 

fixxxer

К.О.
Партнер клуба
А насчет hhvm - тут главное достижение не в нем, а в том, что они по ходу дела написали спецификацию php. ;)
 

hell0w0rd

Продвинутый новичок
К flux претензий особо нет на самом деле, а реакт дурной с его глобалсами, не говоря уж о мерзком JSX
Глобалсами? Top-level API чтоли?
Ну а на счет jsx - пиши обычные объекты, если очень хочется. Хотя не понимаю, чем jsx тебе так не нравится
 

WMix

герр M:)ller
Партнер клуба
наоборот jsx правильный подход экое слияние языков, эти кавычки затрахали. Подход обратный не как у шаблонов, красиво не отформатируешь тоже правда, но в принципе очень даже неплохо
 

hell0w0rd

Продвинутый новичок
Угу, это отвратительно :)

Объекты руками - это еще хуже, какой-то GWT получится.

http://wix.github.io/react-templates/ - вот так ничо, хотя настолько похоже на angular делать было необязательно :)
По моему код в строках - вот это отвратительно. В jsx не надо писать компоненты на 200 строк и будет все красиво и удобно.
 

fixxxer

К.О.
Партнер клуба
Код сложнее чем имя функции или переменной - да, отвратительно. А не надо так делать. Я и не говорю, что эти react-templates идеальны - просто единственное, что нашлось.

Я в ангуляре сложнее ng-click="foo()" / ng-if="var" и не делаю. Микросинтаксисы типа ng-repeat/ng-options тоже раздражают, да. В aurelia с этим лучше.

А основная проблема JSX в том, что сложно работать в паре с верстальщиком, нет четкого разделения на "код" и "шаблон". С ангуляром - если придерживаться правила "делать не сложнее, чем можно в handlebars" - вполне вменяемо получается.
 
Последнее редактирование:

hell0w0rd

Продвинутый новичок
@fixxxer, угу, нету, потому что все код. Можно придумать себе четкие правила. На пример у меня внутри render нет условий, все выносится в методы вида renderSomething, где идет проверка if (!this.props.something) {return null;}. Циклы обычно тоже выношу в метод. Ну и думаю слышал о тупых компонентах - это компоненты без сайд-эффектов, которые обычно зависят только от пропсов, и ничего снаружи напрямую не меняют. Вот такие спокойно может писать сам верстальщик, на мой взгляд.
 

fixxxer

К.О.
Партнер клуба
Ну и думаю слышал о тупых компонентах - это компоненты без сайд-эффектов, которые обычно зависят только от пропсов, и ничего снаружи напрямую не меняют
Это потому что это все слишком низкоуровнево - и на низкоуровневую virtual библиотеку непосредственно напрямую повесили jsx.

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

MiksIr

miksir@home:~$
Если не реакт, то что? Для изоморфа. C шаблонами. Без rendrjs. А в идеале на TS :)
 
Последнее редактирование:

hell0w0rd

Продвинутый новичок
Эти "тупые" и "умные" - первый шаг к осознанию того, что нужен фреймворк более высокого уровня, который введет разные типы компонентов.
React все еще не 1.0, так что все впереди. Кстати сейчас (0.14-rc1) можешь написать так:
Код:
const Foo = ({foo, bar}) => {
  return <div bar={bar}>{foo}</div>;
};
И тебя поймут.
Если не реакт, то что? Для изоморфа. C шаблонами. Без rendrjs. А в идеале на TS :)
TS 1.6 поддерживает jsx, если чо) http://habrahabr.ru/post/266665/
 

MiksIr

miksir@home:~$
Это да, я уже нагуглил. Но в общем и целом по JSX первое впечатление не очень, с fixxxer-ом согласен.
С другой стороны, как-то не сильно богатый выбор.
 

MiksIr

miksir@home:~$
Немного повникал в реакт, стал меньше согласен в fixxxer-ом ;)
Скорее это инструмент, который позволяет сделать как хорошо, так и плохо. Сильно напомнило банальный срач на тему PHP - нужен ли шаблонизатор или нет. Вот react ближе к "PHP как шаблонизатор", но при этом лишен ключевых недостатков, ибо все же шаблонизатор.
При грамотно созданном компоненте, в который не насовали всего подряд типа бизнес-логики - верстальщику должно быть комфортно.
 

fixxxer

К.О.
Партнер клуба
При грамотно созданном компоненте, в который не насовали всего подряд типа бизнес-логики
Не только бизнес-логики. Для простых компонентов это все нормально сработает, а со сложными начнутся либо простыни кода (от того, что они не в строке, а в jsx - лучше не становится), либо рядом появятся всякие методы - и вот тут уже получается как в говнохелперах аля CHtml - то ли шаблон в презентере, то ли презентер в шаблоне.

Сам по себе подход причем вполне нормальный, просто нужны гораздо более высокоуровневые абстракции. Проблема (как и в PHP as template engine) в том, что слишком много свободы, и наговнокодить проще простого.

В принципе это все решаемо построением фреймворка поверх react/flux, которые все же библиотеки и не более.
 

MiksIr

miksir@home:~$
Ну, как я понял, сложные компоненты - это уже неверный путь, и нужно бить их на более мелкие. Т.е. блок с товарами -> товар -> стока с ценой и т.д. выделяя сущности, у которых появляется своя логика отображения. Сложный шаблон - тоже не подарок, даже если следовать путем очень тупого шаблона и отдельного слоя с логикой. Ибо появляется еще логика выборов шаблонов и т.п.
Главное не давать верстальщику самому делать компонент.
 
Сверху