Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
покритикуйте bso
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВстрока if ("development" !== 'production') встречается 112? Почему не заменить просто на true? :) Потому что true не говорит не о чём, а эта строка говорит. По-моему очевидней некуда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2016, 14:34 |
|
||
|
покритикуйте bso
|
|||
|---|---|---|---|
|
#18+
hVostt Потому что true не говорит не о чём, а эта строка говорит. По-моему очевидней некуда. Это ведь константное выражение, скорее всего ноги растут из автогенерации кода... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2016, 14:54 |
|
||
|
покритикуйте bso
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВЭто ведь константное выражение, скорее всего ноги растут из автогенерации кода... Bingo! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2016, 14:58 |
|
||
|
покритикуйте bso
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВhVosttЕвгенийВ, Посмотри как-нибудь на досуге Mithril . Посмотри как нибудь на досуге Vanilla JS ! Если серьезно, я много чего пересмотрел, например еще Vcl.js . Конкретно в Mithril нет строгой типизации, а значит контроля детских ошибок, например можно написать return m("diw", [ и в лучшем случае получим ошибку времени выполнения, в худшем тег diw, который браузер проигнорирует. У меня такого нет, например хочу тег bdo - вызываю функцию bdo, которая вернет HTMLPhraseElement, у которого в отличии от HTMLElement есть пара дополнительных свойств Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. Я не преследую реализацию mvc/mvvp, я преследую строгую типизацию и уход от поиска по строковому ключу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2016, 15:49 |
|
||
|
покритикуйте bso
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВskyANAА так доступ к вожделенному Вами диву: Код: javascript 1. Я наоборот бегу от таких штук Код: javascript 1. На самом деле в конкретном рассматриваемом нами случае, можно обойтись и без ref, так как React.findDOMNode(componentInstance) возвращает внешний DOM узел, возвращаемый в методе render(). То есть свободно можно написать так: Код: javascript 1. Ну и вернуть DOM узел соответсвующий компоненту по ссылке - это не тоже самое, что найти элементы, удовлетворяющие селектору. ЕвгенийВskyANAВы же разрабодчик с опытом, а проблему описываете как вчерашний студент :) Дайте больше конкретики. Я действительно не понимаю, почему в этом файле https://facebook.github.io/react/js/react.js строка if ("development" !== 'production') встречается 112? Почему не заменить просто на true? :) А ты загляни в минифицированный файл https://fb.me/react-15.0.1.min.js :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2016, 19:05 |
|
||
|
покритикуйте bso
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВПосмотри как нибудь на досуге Vanilla JS ! А как же православный ассемблер? ЕвгенийВКонкретно в Mithril нет строгой типизации, а значит контроля детских ошибок, например можно написать return m("diw", [ и в лучшем случае получим ошибку времени выполнения, в худшем тег diw, который браузер проигнорирует. Какое же это имеет отношение к типизации? Это вообще-то просто синтаксис, и проблему выявит простейшие тесты. Строгая типизация, это когда что-то куда-то надо передать, и это что-то должно отвечать определённым требования (типу). ЕвгенийВУ меня такого нет, например хочу тег bdo - вызываю функцию bdo, которая вернет HTMLPhraseElement, у которого в отличии от HTMLElement есть пара дополнительных свойств Ну тогда HTML сам по себе уже является самодостаточным языком, и не стоило так напрягаться. Хочешь тег bdo? Пишешь <bdo...> и у него также есть свои дополнительные свойства. А правильный редактор кода тебе и ошибку покажет и подскажет. В чём профит-то? У virtual dom библиотек фишка в том, что ты фигачишь некоторое количество отлаженных компонент, а потом из них строишь прикладной UI. Это работает очень быстро. Какие там могут быть проблемы, если ты не пихаешь логику в UI и не пишешь её как монолитный компонент -- ведь в таком случае тебя никакая супер-мега-типизация с блекджеком и шлюхами не спасёт, это заведомо труп. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2016, 22:19 |
|
||
|
покритикуйте bso
|
|||
|---|---|---|---|
|
#18+
hVosttНу тогда HTML сам по себе уже является самодостаточным языком, и не стоило так напрягаться.Этот напряг ради генерации разметки в скрипте. Чтобы уйти от этой порнографии - innerHTML = "<div>". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2016, 10:11 |
|
||
|
покритикуйте bso
|
|||
|---|---|---|---|
|
#18+
hVostt Какие там могут быть проблемы, если ты не пихаешь логику в UI и не пишешь её как монолитный компонент -- ведь в таком случае тебя никакая супер-мега-типизация с блекджеком и шлюхами не спасёт, это заведомо труп. А почему бы не запихнуть логику относящаюся к UI в UI? Тем более это функция возвращающая результат (HTMLElement)? Тем более это легко можно тестировать, от примитивных тестов, типа Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. Причем в отличии от связки HTML+JavaScript доступ к предкам и потомкам по номеру приветствуется, ибо сам по себе тестирует структуру, которую мы пытаемся изначально заложить. До архимегасложных тестов типа этого . Можно конечно еще насувать "логики", но тут все на совести программиста. Встречаются как "умельцы" которые все помещают в *.cshtml в asp.net mvc, так и те, которые грамотно делят делят на слои webform приложение. skyANAНу и вернуть DOM узел соответсвующий компоненту по ссылке - это не тоже самое, что найти элементы, удовлетворяющие селектору. Я пытаюсь уйти от строк в коде, веть даже наш великий кормчий Андерс Хейсберг указывает нам путь, введя в C# nameof! skyANAА ты загляни в минифицированный файл https://fb.me/react-15.0.1.min.js :) Еще бы, я бы удивился если бы это было не так, Цукенберг то там нормально башляет :) А вообще над минификацией надо думать... Существующие решения позволят минифицировать такое? Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2016, 11:25 |
|
||
|
покритикуйте bso
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВА почему бы не запихнуть логику относящаюся к UI в UI? Потому что в UI не должно быть логики. Если не придерживаться этой стратегии разработки, то и «типизированные UI» тебе не особо поможет. Ничего не поможет, это заведомо плохой путь по дорожке, выложенной граблями. На стороне клиента я размещаю логику отдельно от UI: если у меня меняется состояние модели, я в модели знать не знаю, как меняется вид UI, из каких элементов вообще состоит UI, какого он цвета и как он выглядит. Поэтому мне не нужна никакая типизация дивов и их атрибутов. Она ничего не решает, и не увеличивает эффективность разработки. Компоненты пишутся один раз и потом просто используются. Если я сегодня буду в логике UI возиться с элементами HTML (не важно, типизировано или нет), то это деградация. Пришли к тому, от чего долго и упорно уходили. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2016, 11:57 |
|
||
|
покритикуйте bso
|
|||
|---|---|---|---|
|
#18+
AntonariyЭтот напряг ради генерации разметки в скрипте. Чтобы уйти от этой порнографии - innerHTML = "<div>". Так ушли уже. Про virtual dom уже вроде как сказали. Если проблема в том, что типа можно написать так: m("diw"... — ну это абсолютно нормально, так как компоненты инкапсулируют внутри себя VDOM, он отлаживается и больше не трогается. Это не прикладной код, нет нужды в «типизированном» чекинге, никакой. Бред какой-то. Проблема высосана из мизинца левой ноги. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2016, 12:04 |
|
||
|
покритикуйте bso
|
|||
|---|---|---|---|
|
#18+
hVostt Потому что в UI не должно быть логики. Что по твоему есть UI? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2016, 12:39 |
|
||
|
покритикуйте bso
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВhVosttПотому что в UI не должно быть логики. Что по твоему есть UI? Внешний вид: элементы управления и визуализация данных — то, что видит и с чем взаимодействует пользователь. В современных веб приложениях, которые иногда называют SPA, существует буквальное разделение на фронт (всё, что происходит на клиенте) и бек (всё, что происходит на сервере). В свою очередь на фронте существует формальное разделение: клиентская логика приложения и пользовательский интерфейс (UI) — это вполне себе самостоятельные части, которые могут существовать независимо, не смотря на то, что исполняются они в одном контексте (браузер). Таким образом логику можно писать и тестировать независимо от интерфейса, без малейшего понятия о манипуляциях с DOM, грубо говоря логике должно быть абсолютно параллельно как ты там кнопку нарисовал: одним button, или сложным комплексом вложенных друг в друга div, или вообще это клякса, нарисованная на канвасе, может это вообще не кнопка, а жест мышью/пальцем. И в тоже самое время UI можно писать в отрыве от логики и тестировать, не ожидая, когда бекендщики постараются, чтобы предоставить тебе рабочий API с необходимыми для прогона тестов данными. В UI нет логики, кроме логики анимации и поведения самого интерфейса: упираем мышь в левый край — выезжает меню, уводим — меню скрывается, и т.п. Чтобы замонстрячить такое поведение, надо ОДИН раз написать компонент, отладить его, и заниматься другими делами. Написание таких компонентов — это НЕ прикладной код, он не может быть им по определению. Поэтому так называемая «теговая типизация» бесполезна, и поэтому её нет в мейнстримах. Догадайся почему так, может она задаром никому не упала? Класть клиентскую логику на теги — это не просто прошлый век, это тупиковый путь для разработчика, деградация. Много пота и программерской крови было пролито на клавиатуры, но похоже ещё будет поломано не мало копий. Ээээх... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2016, 22:45 |
|
||
|
покритикуйте bso
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВskyANAНу и вернуть DOM узел соответсвующий компоненту по ссылке - это не тоже самое, что найти элементы, удовлетворяющие селектору. Я пытаюсь уйти от строк в коде, веть даже наш великий кормчий Андерс Хейсберг указывает нам путь, введя в C# nameof! А где тут строки в коде? Код: javascript 1. А это Код: javascript 1. ну заменяется же так Код: javascript 1. ЕвгенийВА вообще над минификацией надо думать... Существующие решения позволят минифицировать такое? Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. А что мешает попробовать? Из этого Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. получается вот что Код: javascript 1. Наверняка и EmptyAction минифицируется. Как оно определено? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2016, 20:05 |
|
||
|
покритикуйте bso
|
|||
|---|---|---|---|
|
#18+
skyANAНаверняка и EmptyAction минифицируется. Как оно определено? Код: javascript 1. 2. Я вообще про бесконечные function и return. будем ждать поддержки ES-2015, такой код не во всех браузерах работает( Код: javascript 1. пока только так Код: javascript 1. skyANA [/src] ну заменяется же так Код: javascript 1. А если таких 100500? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2016, 11:53 |
|
||
|
покритикуйте bso
|
|||
|---|---|---|---|
|
#18+
hVostt, Я тоже предлагаю создавать компоненты, как например выше Pager. Не все приложения состоят из отображения/изменения БДешных банных. Вот попробуй со всем своим виртуальным DOM сделай тот же datetimepicker? Может еще и реально, но придется тащить с собой тот же React. А попробуй Visual Studio Code? Просто не реально же! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2016, 11:59 |
|
||
|
покритикуйте bso
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВskyANAНаверняка и EmptyAction минифицируется. Как оно определено? Код: javascript 1. 2. Я вообще про бесконечные function и return. будем ждать поддержки ES-2015, такой код не во всех браузерах работает(Зачем ждать, когда есть тот же babel? ЕвгенийВskyANA[/src] ну заменяется же так Код: javascript 1. А если таких 100500?Если таких 100500, то значит React используется через одно место. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2016, 19:41 |
|
||
|
покритикуйте bso
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВhVostt, Я тоже предлагаю создавать компоненты, как например выше Pager. Не все приложения состоят из отображения/изменения БДешных банных. Вот попробуй со всем своим виртуальным DOM сделай тот же datetimepicker? https://egghead.io/lessons/react-using-react-with-the-fullcalendar-jquery-plugin#/tab-code ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2016, 19:42 |
|
||
|
покритикуйте bso
|
|||
|---|---|---|---|
|
#18+
skyANAЗачем ждать, когда есть тот же babel? Речь про миминизацию, он развернет в то, от чего я хочу уйти. skyANAЕсли таких 100500, то значит React используется через одно место. А если нужно, например Ribbon, который меняется от контекста и от самого же себя. skyANA https://egghead.io/lessons/react-using-react-with-the-fullcalendar-jquery-plugin#/tab-code А есть ссылка, где средствами react создается нечто аналогичное fullCalendar jQuery plagin, а не используется готовый fullCalendar jQuery plagin? Это немного разные вещи... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2016, 22:40 |
|
||
|
покритикуйте bso
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВ, что-то я перестал понимать смысл обсуждения. Вместо развёрнутых аргументов начались какие-то "а если". Вы пробовали на React сделать Ribbon и у Вас не получилось? Почему? А на bso получилось, где посмотреть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2016, 22:55 |
|
||
|
покритикуйте bso
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВА есть ссылка, где средствами react... http://www.material-ui.com/#/components/date-picker ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2016, 22:59 |
|
||
|
покритикуйте bso
|
|||
|---|---|---|---|
|
#18+
skyANAЕвгенийВА есть ссылка, где средствами react... http://www.material-ui.com/#/components/date-picker Выше я писал, что допускаю возможность создания датапикера на реакт. В итоге имеем поделку состоящую из 12 файлов размером 47 780 байт, которые ссылаются на еще файлы в других папках, с невозможностью выбрать дату раньше 27 апреля 1916 года (вдруг мне надо вбить дату рождения бабушки?), без возможности выбрать время, без возможности локализации. При чем если демку открыть в 2 вкладках хрома, работает только в одной, в другой путает левую и правую кнопки мыши. Если в самое ближайшее время не доработают - пойдет на обочину истории. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2016, 11:38 |
|
||
|
покритикуйте bso
|
|||
|---|---|---|---|
|
#18+
skyANAЕвгенийВ, что-то я перестал понимать смысл обсуждения. Вместо развёрнутых аргументов начались какие-то "а если". Вы пробовали на React сделать Ribbon и у Вас не получилось? Почему? А на bso получилось, где посмотреть? А что? надо попробовать! Хорошая мысль) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2016, 11:49 |
|
||
|
покритикуйте bso
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВskyANAпропущено... http://www.material-ui.com/#/components/date-picker Выше я писал, что допускаю возможность создания датапикера на реакт. В итоге имеем поделку состоящую из 12 файлов размером 47 780 байт, которые ссылаются на еще файлы в других папках, с невозможностью выбрать дату раньше 27 апреля 1916 года (вдруг мне надо вбить дату рождения бабушки?), без возможности выбрать время, без возможности локализации. При чем если демку открыть в 2 вкладках хрома, работает только в одной, в другой путает левую и правую кнопки мыши. Если в самое ближайшее время не доработают - пойдет на обочину истории. И чё? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2016, 19:20 |
|
||
|
|

start [/forum/topic.php?fid=18&gotonew=1&tid=1355911]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
13ms |
get first new msg: |
8ms |
get forum data: |
4ms |
get page messages: |
88ms |
get tp. blocked users: |
2ms |
| others: | 252ms |
| total: | 443ms |

| 0 / 0 |
