• Как развиваться в сторону креативной фронтенд-разработки?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Вакансия - какая то странная.
    Половина требований - это то что человек посмотрит и запомнит через неделю работы. На собеседовании они вообще не нужны. Осталось ощущение что слова "креативный разработчик" подразумевают две вещи - либо такая "творческая личность" которая фигачит код в духе "for (var a && foo() in c ||d())" потому что "так оптимальнее и красивее, не люблю лишние строки", либо на которого навешивают работу дизайнера и требуют "ну сделай покрасивее что-то, заказчику не понравилось".

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

    Где можно почитать / посмотреть, как разрабатываются фронтенд сайтов уровня Awwwards?


    Если вы про те из них где есть какие-то прикольные графические свистелки, (большая часть - это просто необычный дизайн, на который нужен обычный верстальщик) то если вы работали с webgl, понимаете как в целом работать с канвасом, и знаете немного математики - этого должно быть достаточно.
    Большая часть вау-эффекта таких сайтов это креативность дизайнера.

    Поставьте вопрос конкретнее. все эти свистелки - это знание api (читается в доках) и алгоритмы.

    Если вам интересна тема именно алгоритмов, необычной графики и хитрых программных решений, и креативности в этом ключе - это мало относящаяся к фронтенду как таковому тема, тут наверное ближе и обширнее всего геймдев, можно почитать там, а так же штуки типа demo competition, (https://www.youtube.com/watch?v=NAeFuk-_Dwo&list=P... https://www.youtube.com/channel/UC96JVq-z0-0iHAkIk... https://www.youtube.com/watch?v=JZ6ZzJeWgpY) если хочется хардкора (это все написано на низком уровне в программах размером пара десятков килобайт) - вот там программной креативности хоть отбавляй, если вы сможете сделать что-то такое, то во фронте вас с руками будут отрывать делать "сайты уровня awwwards". Но возможно вы уже не захотите :)
    Ответ написан
  • Какие существуют стеки в Web API для выполнения асинхронных js операций?

    @vgbege
    автор молодец, картинка красивая. теперь о грустном :)

    call stack это обычный стек вызовов, как и в других языках программирования. в javascript call stack один, поскольку javascript это single threaded language. вопрос сколько стеков смысла не имеет.

    к вопросам
    1. ну а какая разница, честно говоря? есть i/o, timers, observers, завтра еще что-нибудь возникнет, достаточно считать, что колбэки попадают в очередь по мере поступления, а дальше FIFO и все такое

    2. в едином. он же один :) вообще, вопрос выглядит не имеющим смысла. есть операции, а есть их колбэки. предположим, что стек и очереди попутаны местами, тогда ответ возможно. возможно колбэки попадают в разные очереди, но это такая тонкость, которая реальную разработку практически не затрагивает. при желании можно почитать https://www.w3.org/TR/2014/REC-html5-20141028/weba... - там все тонкости.

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

    предлагаю сначала почитать статью с картинкой попроще, например https://developer.mozilla.org/en-US/docs/Web/JavaS...

    еще можно поиграться с latentflip.com/loupe
    Ответ написан
  • Зачем нужны psd макеты для создания сайтов?

    Я так понимаю инженеру дают чертеж на бумаге, а он по нему строит дом, но для чего это нужно? Зачем вообще чертежи, почему не строить сразу же? Почему архитектор не может построить дом? Инженеру даются поэтажные планы, а он должен их из кирпича строить? Если инженеру не дадут чертеж, а скажут просто построить дом, может ли ему пригодится для поэтажных планов archCAD или его замена?
    Ответ написан
  • Чем руководствоваться при выборе, вынести ли "подкомпонент" react в компонент или поместить в функцию внутри компонента?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    вопросов о выносе SubmitButton в отдельный компонент не возникает.

    SubmitButton выносить в отдельный компонент не надо. В большинстве случаев хватает использования обычной кнопки вашего приложения.
    <Button onClick={handleSubmit}>Submit</Button>

    Чем руководствоваться при выборе, вынести ли «подкомпонент» react в компонент или поместить в функцию внутри компонента?


    Компонент это сущность, если часть древа можно описать как сущность, то логичней ее вынести в компонент. Особенно если она будет в последствии переиспользована. Например:
    ListItem, Preloader, Layout, Modal, Container, FormControl, etc.

    Если часть древа описывается задачей(например renderRows, renderItem, etc) и ее надо меморизировать, или она используется под условным рендерингом и для отрисовки необходимы дополнительные вычисления, то ее часто логично вынести в отдельный рендер метод, не нагромождая кодовую базу дополнительными компонентами.
    Колбеки паттерна render-props так же имеет смысл выносить в отдельные render-методы.
    Ответ написан
  • В чём минус вёрстки дивянками?

    Минус в отсутствии семантики (смыслового обозначения используемых элементов)

    Также, минус в худшей доступности для тех, кто работает с сайтом через скрин ридеры (слепые или плохо видящие люди)
    Ответ написан
  • Направление для развития в React?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    Redux в React-разработке надо знать обязательно. Еще, хорошо знать MobX, так как все больше компаний используют его в новых проектах.

    Так же, вам стоит познакомиться с такими инструментами как:
    typescript
    webpack/babel
    react-router
    redux-thunk
    redux-act (имхо, лучшая упрощалка бойлерпелйта redux)
    styled-components
    reselect
    next/create-react-app
    axios
    react-helmet
    react-portal
    classnames
    eslint/tslint/prettier/lint-staged/husky
    jest
    express

    Перечисленные инструменты, кроме redux-act, используют в React-разработке чаще всего.
    Ответ написан