@react_js
React — русскоговорящее сообщество

Обсуждаем React.js и экосистему. См. также: @reactnative_ru, @apollo_ru, @protonnative_ru, @nodejs_ru, @js_ru, @uiux_ru Вакансии и поиск работы: @javascript_jobs Правила: http://bit.ly/our_etiquette Sponsored with ❤️ by www.axept.co

5822 members

Архив канала @react_js 2 мая 2016 г.

01:01:51 ДП
User 309556
https://twitter.com/chicoxyzzy/status/726937461377667073
twitter.com/chicoxyzzy/status/726937461377667073
SHIPIT! @ChromiumDev
04:09:38 ДП
User 4627228
Кто-нибудь уже попробовал? https://github.com/krasimir/cssx
github.com/krasimir/cssx
cssx - CSS in JavaScript
04:11:09 ДП
User 4627228
Или Radium? https://github.com/FormidableLabs/radium
github.com/FormidableLabs/radium
A toolchain for React component styling. Contribute to FormidableLabs/radium development by creating an account on GitHub.
04:12:42 ДП
User 4627228
@vslinko вроде это использовал https://github.com/rofrischmann/react-look
github.com/rofrischmann/react-look
react-look - Advanced & Dynamic Component Styling for React and React Native. Ships with powerful Plugins, Mixins and Developer Tools.
05:08:26 ДП
User 4627228
ATELLIER. The React-Components Emulator
Atellier is a React component that gives you an accessible way to interact with your components library. https://github.com/scup/Atellier
10:51:23 ДП
User 192559518
я использовал react-look и jss
10:51:42 ДП
User 4627228
Вместе или раздельно? Как впечатления?
10:52:33 ДП
User 192559518
раздельно
10:53:01 ДП
User 192559518
впечатления не однозначные
10:54:28 ДП
User 192559518
если есть задача кастомизации темы интерфейса в реальном времени через настройки, то это могут решить только такие инструменты
10:54:55 ДП
User 192559518
и то, пока нет поддержки css custom properties
10:55:30 ДП
User 192559518
в целом css modules удобнее
10:58:09 ДП
10:58:21 ДП
User 4627228
Олега здесь в чате нет?
10:59:44 ДП
User 160533651
Какого?
11:00:12 ДП
11:00:12 ДП
User 4627228
https://github.com/kof?tab=activity
github.com/kof?tab=activity
kof has 69 repositories written in Shell, JavaScript, and Ruby. Follow their code on GitHub.
11:08:45 ДП
User 4627228
Парни, был у кого-нибудь опыт Redux + TypeScript?
11:08:54 ДП
User 4627228
Олег, как оно в целом? :)
11:09:28 ДП
User 192559518
у меня
11:10:41 ДП
User 4627228
Как впечатления?
11:11:01 ДП
User 192559518
норм, как и все остальное на TS
11:11:02 ДП
User 4627228
Какие есть плюсы?
11:11:09 ДП
User 192559518
типы? :)
11:11:15 ДП
User 4627228
Типизированные actions?
11:11:39 ДП
User 192559518
типизированное все
11:11:47 ДП
User 192559518
actions, store, props
11:12:27 ДП
User 192559518
сделал свой аналог compose для наслаивания декораторов в типизированном стиле
11:12:44 ДП
User 192559518
если ошибся где-то в середине цепочки — компилятор поможет
11:30:05 ДП
User 1294634
А в чем отличие от обычного compose в плане интерфейса
11:30:23 ДП
11:30:26 ДП
User 192559518
compose умеет только один тип
11:31:41 ДП
User 192559518
или вот такое: https://github.com/donnut/typescript-ramda/blob/master/ramda.d.ts#L280
github.com/donnut/typescript-ramda/blob/master/ramda.d.ts
typescript-ramda - TypeScript's type definitions for Ramda
11:31:49 ДП
User 160533651
Ну если кратенько, то свой connect, свои плагины для типизированного изменения состояния в редукторах, приведение типов и потеря типизации при установке локального состояния. В общем подпорки
11:32:46 ДП
User 192559518
User 160533651
Ну если кратенько, то свой connect, свои плагины для типизированного изменения состояния в редукторах, приведение типов и потеря типизации при установке локального состояния. В общем подпорки
ты о чем?
11:34:27 ДП
User 160533651
TS+React+Redux
11:35:07 ДП
User 192559518
а где ты теряешь типизацию?
11:38:14 ДП
User 1294634
@vslinko у тебя тоже с дженериком compose?
11:38:28 ДП
User 192559518
нет, у меня не compose
11:38:38 ДП
User 1294634
Ну аналог
11:38:58 ДП
User 192559518
у меня свой
да, с дженериками, конечно
11:39:06 ДП
User 192559518
но чуть поумнее
11:40:03 ДП
User 192559518
выглядит так:

export default createComponentContainer()
  .pipe(
    connectState(
      (state: IApplicationState, dispatch: IDispatch) => ({
        initialValues: {
          address: '',
          roomsCount: null,
          totalArea: null,
        },
        onSubmit: (values: IObjectEvaluationWithAddressRequest) => {
          dispatch(push(objectEvaluationUrl(values)));
        },
      })
    )
  )
  .pipe(
    connectForm({
      form: 'objectEvaluation',
      fields: ['address', 'roomsCount', 'totalArea'],
      validate,
    })
  )
  .build(ObjectEvaluationLandingPage);
12:09:37 ПП
User 160533651
User 192559518
а где ты теряешь типизацию?
setState({asd:123} as IState)
12:10:22 ПП
User 192559518
а, я объявляю все свойства необязательными
01:33:39 ПП
User 309556
https://twitter.com/chicoxyzzy/status/727128863105540097
twitter.com/chicoxyzzy/status/727128863105540097
Мы в BeerJS Moscow обнаружили очень неприятный баг: https://t.co/WFZf2q2cEL Требуется помощь для его исправления: https://t.co/r4PBKbyIKh
03:24:33 ПП
User 4627228
https://dev.opera.com/blog/timing-attacks/
03:55:15 ПП
User 88403602
User 4627228
https://dev.opera.com/blog/timing-attacks/
смотрел sniffly где-то полгода назад, я наугад больше сайтов назову правильно, на которых пользователь был, чем он)
03:55:32 ПП
User 88403602
сейчас запустил - ничего не изменилось
04:18:39 ПП
User 4627228
@vslinko Слава, ты здесь?
04:19:10 ПП
User 192559518
периодами
04:19:26 ПП
User 192559518
а что?
04:19:44 ПП
User 192559518
ты пиши, а я отвечу как нибудь
04:37:53 ПП
User 4627228
Такие дела. #GraphQL. #Relay. Триллер.
Есть query:
books(filter: UserBookFilter): UserBooksConnection
UserBookFilter = (UNREAD, READ)
Есть контейнер, который показывают первую из UNREAD:
fragment on UserBooksEdge {
  books(first: 100, filter: UNREAD)  {
    edges {
      node {
        id
        author
...
Делаю мутацию, чтобы изменить её категорию, категория в БД меняется, при этом контейнер с новыми данными не обновляется. Только после F5. https://gist.github.com/DenisIzmaylov/8ce0b5b73277bb55da5d7f8760ea8f07
gist.github.com/DenisIzmaylov/8ce0b5b73277bb55da5d7f8760ea8f07
04:39:07 ПП
User 4627228
Что я не так в мутации описываю?
04:43:48 ПП
User 4627228
Или вот так, чтобы далеко не ходить)
05:07:37 ПП
User 27532125
Обзор популярных библиотек и фреймворков для JavaScript

#javascript

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

Ссылка на пост
https://vk.com/wall-54530371_68384
vk.com/wall-54530371_68384
Обзор популярных библиотек и фреймворков для JavaScript #javascript@proglib Для быстрого решения большинства нетривиальных задач в JavaScript, как и в других языка, есть множество полезных библиотек и фреймворков. Библиотеки помогают быстро реализовывать отдельные функции в приложении, а фреймворки являются надежным фундаментом для построения приложений на их основе.
05:18:39 ПП
User 4627228
@vslinko приём)
05:20:19 ПП
User 192559518
почему parent book?
05:20:48 ПП
User 192559518
parent это тот, у кого поле books
05:20:58 ПП
User 192559518
насколько я понял это user
05:22:47 ПП
User 192559518
parentName user 
parentID user.id
05:22:53 ПП
User 192559518
@DenisIzmaylov
05:42:46 ПП
User 4627228
Сейчас попробую
05:46:05 ПП
User 4627228
Т.е viewer?
05:46:26 ПП
User 4627228
viewer: User
06:01:16 ПП
User 4627228
в GetFatQuery мы указываем те данные, что нам нужны назад от мутации?
06:04:04 ПП
06:07:24 ПП
User 121762741
кто любит в Clojure и ClojureScript — прямо сейчас идёт хэнгаутс с tonsky

https://plus.google.com/hangouts/_/hoaevent/AP36tYdSQ4H5i0-KC9l7ROwcprmKn4GcL7f8FVbPaUoj7h0P7NIEdw?hl=en&authuser=0
06:08:06 ПП
User 192559518
@DenisIzmaylov получилось?
06:10:45 ПП
User 4627228
пишет invalid field name on fat query
06:11:07 ПП
User 4627228
причём user в fatQuery отсутствует, видимо из getConfig() добавляет
06:12:34 ПП
User 192559518
если ты берешь из viewer значит надо viewer
06:12:47 ПП
User 309556
This video call is full.
06:13:01 ПП
User 309556
как посмотреть этот хенгаут-то?
06:13:33 ПП
User 309556
на ютюб транслируют?
06:16:08 ПП
User 192559518
в fat query указывать parent не надо
06:17:05 ПП
User 4627228
в getConfig() мы можем использовать только то, что в fatQuery?
06:17:14 ПП
User 4627228
описали
06:17:34 ПП
User 192559518
там зависит от типа конфига
06:18:40 ПП
User 4627228
Если образно задачу сформулировать: есть viewer.books(filter: UNREAD) и нужно вызвать мутацию, которая удалит book из этого фильтра и перенесёт в filter: READ
06:19:38 ПП
User 4627228
Как я понял, для этого необходимо описать две записи getConfig() - FIELDS_CHANGE и RANGE_ADD
06:19:46 ПП
User 192559518
User 4627228
Или вот так, чтобы далеко не ходить)
это похоже на правду кроме parent
06:19:50 ПП
User 4627228
rangeBehaviors: {
        'filter(READ)': 'append',
        'filter(UNREAD)': 'remove',
      },
06:20:37 ПП
User 192559518
parentName viewer
parentID Id of viewer
06:22:22 ПП
User 4627228
Да, viewer имеет тип User, но Payload у мутации:
book: Insight!
bookID: ID!
topic: Topic!
bookEdge: TopicBooksEdge!
user: User!
06:25:01 ПП
User 192559518
parent не из payload
06:25:20 ПП
User 192559518
это имя в кеше
06:25:34 ПП
User 192559518
оно совпадает с именем поля
06:26:00 ПП
User 4627228
Когда я описываю в getConfig() через user
      type: 'RANGE_ADD',
      parentName: 'user',
      parentID: props.user.id, 
      connectionName: 'books',
      edgeName: 'bookEdge',
      rangeBehaviors: {
        'filter(READ)': 'append',
        'filter(UNREAD)': 'remove',
      },
Получаю ответ от сервера:
Cannot query field \\"topic\\" on type \\"TopicBooksEdge\\".","locations":[{"line":162,"column":5}]},{"message":"Fragment \\"F2\\" cannot be spread here as objects of type \\"TopicBooksEdge\\" can never be of type \\"UserBooksEdge\\"
06:27:14 ПП
06:27:38 ПП
User 192559518
откуда поле topic у edge?
06:28:01 ПП
User 192559518
books.edges.topic
06:30:39 ПП
User 4627228
есть books.edges.node:Book и books.edges.topic:Topic
06:42:05 ПП
User 192559518
вы сами добавили,
06:42:09 ПП
06:42:47 ПП
User 192559518
просто это не описано в стандарте и может быть проблемы из-за этого
06:43:19 ПП
User 192559518
вернее добавить book.topic
06:46:34 ПП
User 4627228
у клиента такой API уже есть, вроде на других приложениях работает
06:47:11 ПП
User 4627228
backend не мы в этом проекте делаем
06:53:59 ПП
User 192559518
понятно, хм
06:54:49 ПП
User 192559518
если сделать таки parentName: "viewer" что будет?
07:02:40 ПП
User 4627228
Invalid field name on fat query, viewer
07:03:16 ПП
User 4627228
причём если user поставить
07:03:55 ПП
User 4627228
type: 'RANGE_ADD',
      parentName: 'user',
      parentID: user.id,
      connectionName: 'topics',
      edgeName: 'topicBookEdge',
      rangeBehaviors: {
        'filter(READ)': 'append',
        'filter(UNREAD)': 'remove',
      },
07:04:21 ПП
User 4627228
он даже обновляется
07:04:34 ПП
07:05:18 ПП
User 4627228
кстати, response уже другой приходит. оказывается getConfig() на ответ влияет тоже
07:06:13 ПП
User 192559518
да, влияет 😀
07:06:27 ПП
User 192559518
они друг друга дополняют
07:06:43 ПП
User 4627228
что-то новенькое )
07:07:24 ПП
User 4627228
но сообщение странное:
 Warning: RelayMutation: The connection `topics{filter:"FAVORITE"}` on the mutation field `user` that corresponds to the ID `VXNlcjowMGY5ZmNhZS1jM2YyLTQ2MWMtOWJiMy1mNzRmNGM0OWE1ZmY=` did not match any of the `rangeBehaviors` specified in your RANGE_ADD config. This means that the entire connection will be refetched. Configure a range behavior for this mutation in order to fetch only the new edge and to enable optimistic mutations or use `refetch` to squelch this warning.
07:08:03 ПП
User 192559518
тут фильтр favorite
07:08:25 ПП
User 192559518
а на скриншотах read и unread
07:09:16 ПП
User 4627228
и в коде так
07:09:24 ПП
User 4627228
он как-то модифицирует внутри всё видимо
07:10:07 ПП
User 192559518
ты где-то фетчишь favorite?
07:10:40 ПП
User 192559518
видимо он хочет чтобы ты описал как мутация влияет и на этот случай
07:10:41 ПП
07:11:39 ПП
User 4627228
а, понятно тогда почему работает, потому что он refetch просто делает
07:11:46 ПП
07:12:27 ПП
User 192559518
да, все сложно
07:13:29 ПП
User 192559518
я с rangeBehaviour не работал особо, отлично делал два разных поля
07:13:44 ПП
User 192559518
readedBooks unreadedBooks
07:14:54 ПП
User 12791
при всей моей любви к Relay. он скотина сложный очень :)
07:15:05 ПП
User 12791
мой первый hello world взял у меня часов 5 наверное
07:16:35 ПП
User 192559518
меня бесит что Babel plugin обязательный
07:17:11 ПП
07:17:19 ПП
User 4627228
клуб ненависти Relay
07:17:25 ПП
User 12791
ага.. но без него никак :/
07:17:50 ПП
User 192559518
мы его нежно
07:18:45 ПП
User 192559518
@dmitriiabramov почему нельзя в рантайме!
07:18:48 ПП
07:19:21 ПП
User 12791
ну вобще можно конечно. но тогда relay будет еще сложнее :)
07:20:21 ПП
User 192559518
кроме компиляции запросов он что-то еще делает?
07:20:50 ПП
User 192559518
компиляцию можно делать в рантайме прозрачно для приложения
07:21:28 ПП
User 4627228
Hot Relay Reload
07:21:35 ПП
User 4627228
ждём от Абрамова
07:21:40 ПП
User 4627228
Димы Абрамова :))
07:22:40 ПП
User 309556
Дима, а ты в какой команде в фб?
07:23:55 ПП
User 309556
в смысле над чем работаешь? jest?
07:24:04 ПП
07:24:35 ПП
User 4627228
версии в package.json поднимает
07:25:28 ПП
User 4627228
https://github.com/facebook/react-native/blob/master/package.json
github.com/facebook/react-native/blob/master/package.json
react-native - A framework for building native apps with React.
07:26:37 ПП
User 12791
User 309556
Дима, а ты в какой команде в фб?
в ads infrastructure и jest
07:27:35 ПП
07:27:43 ПП
User 12791
с relay к сожалению почти не работаю, только на сайд проектах домашних юзал :/
07:27:56 ПП
User 309556
@DenisIzmaylov психанули
07:28:03 ПП
User 4627228
жесть
07:28:09 ПП
User 4627228
jeeeсть
07:28:51 ПП
07:29:41 ПП
User 196895
User 4627228
😂👍
07:33:11 ПП
User 176681510
все несколько эпичнее
07:33:51 ПП
User 176681510
https://github.com/facebook/react-native/commit/bbeeaa1274b30e92b962444682864b21169b5a2e
github.com/facebook/react-native/commit/bbeeaa1274b30e92b962444682864b21169b5a2e
Summary:In https://github.com/facebook/react-native/pull/5241 ide updated the version number to be a fake one so that people wouldn't send in PRs just bumping the version. Unfortunately, this lead...
07:37:59 ПП
User 4627228
победил эту траблу
07:38:29 ПП
User 4627228
type: 'RANGE_ADD',
      parentName: 'topic',
      parentID: topic.id,
      connectionName: 'books',
      edgeName: 'topicBookEdge',
      rangeBehaviors: {
        'filter(RATED)': 'append',
        'filter(UNRATED)': 'remove',
      },
07:40:20 ПП
User 4627228
причём
07:40:54 ПП
User 4627228
ещё надо было:
      type: 'FIELDS_CHANGE',
      fieldIDs: {
        book: book.id,
        topic: topic.id,
        user: user.id,
      },
07:41:11 ПП
User 4627228
без user не работает
07:41:18 ПП
User 4627228
оно видимо циклично прогоняет связи
07:41:18 ПП
User 192559518
что-то очень странное
07:41:27 ПП
User 4627228
ты про Relay?
07:41:31 ПП
07:41:34 ПП
User 4627228
согласен
07:41:47 ПП
User 4627228
Relay - это что-то очень странное
07:41:51 ПП
User 4627228
но направление верное
07:42:11 ПП
User 192559518
если заработало, то скорее всего не из-за того что ты правильно сделал
07:42:23 ПП
User 192559518
а включился другой механизм
07:42:58 ПП
User 192559518
range add должен без fields change работать
07:43:51 ПП
User 4627228
я посмотрел респонс от сервера
07:44:10 ПП
User 4627228
данные только те, что нужны приходят
07:44:26 ПП
User 4627228
FIELDS_CHANGE говорит про апдейт значений поля?
07:48:18 ПП
User 128759300
Народ кто с Meteor работает?
Есть проблема, может кто сообразительней будет.
Как вообще правильно готовить таймеры в рамках архитектуры метеора, т.е. как и где правильно хранить их дескрипторы? 
Метеор как-то сильно подвязан по Монгу, прям заставляет все данные в нее писать/читать с которыми работаешь, захочешь держать все в памяти - начинаешь почву с под ног терять, шаг в лево шаг в право - растрел..
Если кратко, то игра "монополия", игроки ходят по очереди, время хода ограничено, нужно создать Meteor.setTimeout и куда-то сохранить дескриптор, что бы оперативно его сбросить после броска или не сбросить, логично его вынести куда-то в отдельный двумерный массив boardsTimers[board_id][player_id], но все равно для получения актуальных данных о игроке, нужно лезть в бд - это задержки (т.е номер дескриптора в таком случае тоже можно туда пихнуть), вообще не пойму как правильно организовать все?
Я могу использовать главную фичу метеора - это коллекции с доступом с fronend но они прибиты к монги, т.е. что бы получить профит от метеора мне нужно все операции проводить через бд, хотя для риалтайм игры - это вроде как глупо - ведь можно все в памяти держать.. 
Но можно ли как-то Meteor.Collections открутить от монги, но проводить все через них? Что бы к этим же данным на сервере я мог с fe общатся как и задумано.. 

До этого игру писал на Backbone, где при изменениях модели игровой доски, я измененые атрибуты просто пересылал на клиент, а на клиенте бросал данные по WS на сервер, который уже менял модель и все снова все рассылал остальным клиентам.. хочется тоже самое, только на метеоре, что бы для каждого события изменения атрибутов можно было не писать враппер прокидующий на клиент, собственно Meteor.Collections это как раз и делает но через монгу =/

Что можно с этим сделать? Спасибо.
07:48:24 ПП
User 192559518
кстати, минутка рекламы: я собираюсь делать мастер класс по GraphQL и Repay в рамках devconf http://devconf.ru/ru/offers/offer/101

через некоторое время начнется голосование, так что шанс не 100%; просто довожу до сведения

когда откроется голосование сделаю рекламу еще раз
devconf.ru/ru/offers/offer/101
GraphQL и Relay очень интересные, но довольно сложные технологии; из тех, которые вряд-ли можно освоить за один свободный вечер. На мастер-классе я поделюсь своим личным опытом использования этих технологий, секретами и тонкостями при работе с ними.
07:49:41 ПП
User 192559518
User 4627228
FIELDS_CHANGE говорит про апдейт значений поля?
да, но, насколько я помню, connections не обрабатываются тут
08:41:40 ПП
User 309556
я вот думаю снова свой доклад отозвать с этой конфы)
08:41:44 ПП
User 309556
как в том году
08:42:00 ПП
User 309556
боюсь не успеть всюду выступить подготовиться
08:42:07 ПП
User 309556
чот понабрал ответственности
08:42:19 ПП
User 192559518
мастер-классы проще
08:42:32 ПП
User 309556
может быть. никогда не проводил
08:43:38 ПП
User 41482050
Знаю что конфа по реакту, но все же. Я бэкендер, который скатывается в фуллстек, знаю 1 ангуляр на троечку. Куда податься, в реакт или 2 ангуляр? На и то и то сил и времени не хватит :/
08:43:59 ПП
08:44:00 ПП
User 41482050
Лол. *вкатывается
08:44:03 ПП
User 309556
ну тут ща насоветуют реакт
08:44:30 ПП
User 192559518
фуллстек — что на беке?
08:44:42 ПП
User 309556
но вроде как проще будет второй ангуляр. он совесем другой, но часть терминологии та же
08:45:38 ПП
User 41482050
Второй ангуляр потыкал - мне все понравилось. В TS все очень удачно: классы, наследование, статическая типизация.
08:45:39 ПП
User 309556
скатыватся - да, смешно
08:45:52 ПП
User 41482050
User 192559518
фуллстек — что на беке?
Питончик
08:45:56 ПП
User 309556
тс и для реакта есть
08:46:22 ПП
User 309556
собственно мы вот его и юзаем)
08:47:06 ПП
User 41482050
User 309556
тс и для реакта есть
Знаю. Пугает конечно в ангуляр куча директив, привязанных к фреймворку
08:47:30 ПП
User 192559518
я про ember не шучу
08:47:52 ПП
User 192559518
бекендерам в нем проще будет
08:49:00 ПП
User 41482050
Ну я не боюсь трудностей. Мне еще и надо верстать учиться, хехе.
08:50:28 ПП
08:51:09 ПП
08:55:03 ПП
User 41482050
А по трендам? Вебпак?
08:59:27 ПП
User 192559518
тренды во фронтенде?
09:00:23 ПП
User 41482050
Ну да
09:00:35 ПП
User 192559518
select * from frontend where stars > 100 order by createdAt DESC
09:02:30 ПП
User 192559518
webpack это уже "стандарт
09:17:39 ПП
User 4627228
User 178361440
Какие люди :)
09:33:15 ПП
User 104477
User 192559518
webpack это уже "стандарт
Как же browserify?
09:37:06 ПП
User 178361440
http://npm-stat.com/charts.html?package=browserify
http://npm-stat.com/charts.html?package=webpack
09:42:14 ПП
09:42:23 ПП
User 4627228
накручивают
09:48:25 ПП
User 4627228
Коллеги, как вам такой Redux? https://github.com/yonatanmn/Cartiv
github.com/yonatanmn/Cartiv
Cartiv - Super simple implementation of flux architecture. fully reactive, and much fun! No dispatcher, no reducers, no explicit actions, and definitely no ugly switch statements, would you believe...
09:50:46 ПП
User 656567
Всё смешалось, кони, люди...
09:50:51 ПП
User 656567
Фигня какая-то
09:51:24 ПП
User 162236709
User 4627228
Коллеги, как вам такой Redux? https://github.com/yonatanmn/Cartiv
github.com/yonatanmn/Cartiv
Cartiv - Super simple implementation of flux architecture. fully reactive, and much fun! No dispatcher, no reducers, no explicit actions, and definitely no ugly switch statements, would you believe...
dafuq
09:51:39 ПП
User 162236709
я не люблю то, что сейчас происходит с js
09:51:47 ПП
User 162236709
когда уже устаканится и он станет ооп-пхп?
09:52:07 ПП
User 4627228
Когда просмеётесь, включайте серьезные лица и внимайте доклады с прошедшего пару недель назад React Amsterdam. Там были реально хорошие доклады. https://twitter.com/ReactAmsterdam
twitter.com/reactamsterdam
The latest Tweets from React Amsterdam (@ReactAmsterdam). #Reactjs Community behind #ReactAmsterdam Conference and Meetups around #NL. Amsterdam
09:53:38 ПП
User 162236709
а когда оно избавится от строения "костыль на костыле"?
09:53:55 ПП
User 162236709
я про кучу прослоек
09:55:02 ПП
User 192559518
oop != куча прослоек?
09:56:40 ПП
09:57:55 ПП
User 162236709
User 192559518
oop != куча прослоек?
я про бабель, вебпак и прочее
09:58:10 ПП
User 61730194
Как начнет компилироваться
09:58:25 ПП
User 162236709
User 4627228
неплохо иллюстрирует
09:58:41 ПП
User 162236709
User 61730194
Как начнет компилироваться
так а чем поможет?
09:59:09 ПП
User 192559518
для запуска php до сих пор нужно fpm, apache и подобное?
09:59:53 ПП
User 162236709
ну так это не язык чтоб вебсервер поднимать
10:01:05 ПП
User 61730194
Ну а как работают бинарники?
10:01:42 ПП
User 192559518
кстати, юзать babel и webpack не заставляют
10:02:37 ПП
User 162236709
User 61730194
Ну а как работают бинарники?
собирают весь готовый код
10:02:51 ПП
User 162236709
это не оставит нужду в прослойках
10:03:10 ПП
User 162236709
процесс почти тот же самый будет
10:03:24 ПП
User 162236709
User 192559518
кстати, юзать babel и webpack не заставляют
это тоже страдание
10:03:52 ПП
User 192559518
много свободы?
10:10:30 ПП
User 61730194
Э нее, тут браузер будет выступать чем-то вроде ядра линуса со списком возможных фич, а что касается расширений языка делай, что хочешь, любые конструкция, да и язык выбирай на вкус, лишь бы дергал апи браузера, не будет проблем с новыми версиями стандартов, для чего бабел и существует
10:12:11 ПП
User 192559518
api браузера развиваться не должно, я так полян
10:12:18 ПП
User 192559518
понял*
10:14:11 ПП
User 309556
браузеры не нужны. от них одни проблемы с жс
10:14:19 ПП
User 309556
вебпаки и бабели
10:14:22 ПП
User 61730194
Еще чуть чуть и мы придем к десктоп приложениям 😆
10:14:32 ПП
User 61730194
Все верно
10:15:02 ПП
User 309556
вот были бы компиляторы!
10:15:18 ПП
User 309556
(с каких пор бабель перестал им быть?)
10:15:34 ПП
User 309556
(и аглифай плагин в вебпаке)
10:16:15 ПП
User 191299276
где же я слышал идею, что нужно убрать ось и вместо него оставить браузер, котый выполнял бы веб ассемблер
10:16:39 ПП
User 191299276
и никакого переключения контекста при системным вызовах
10:16:43 ПП
User 191299276
браузер и есть ось
10:16:59 ПП
User 61730194
Вк вместо ось
10:17:08 ПП
User 192559518
emacs это ось
10:17:11 ПП
User 192559518
а браузер так
10:17:16 ПП
User 309556
все верно. можно будет на новой нвидиа q3 запускать с 60 фпс
10:17:20 ПП
User 192559518
картинки только умеет грузить
10:17:32 ПП
User 88403602
User 191299276
браузер и есть ось
Bash
10:17:35 ПП
User 88403602
С картинками
10:17:38 ПП
User 309556
емакс тоже умеет ;)
10:18:00 ПП
User 192559518
emacs еще умеет в лисп
10:18:03 ПП
User 191299276
научить емакс вебу и норма
10:18:09 ПП
User 191299276
ось не нужна
10:18:11 ПП
User 309556
ось - это ось
10:18:16 ПП
User 192559518
веб емаксу
10:18:19 ПП
User 192559518
а не емакс вебу
10:18:29 ПП
User 192559518
емакс и так умеет в веб
10:18:29 ПП
User 309556
ничего не нужно
10:18:54 ПП
User 309556
нужна эмбеддед ось минимальная на чип самый дешевый
10:18:59 ПП
10:19:21 ПП
User 191299276
когда допилят webasm надеюсь js всё же умрёт
10:19:35 ПП
User 61730194
А картинки в вк как смотреть