• Варианты стилизации крупного React-приложения?

    @AlexCraft
    Software engineer
    Мне больше всего нравится css-in-js, если работаете на React с хуками, то можно реализовать css-in-js на хуках. Вариантов много, но лучше изолировать стили в компоненте, переменные не обязательно использовать из scss, гораздо проще использовать такую схему: хук useWindowSize (гуглится легко), а потом просто создаете несколько переменных и функцию-обработчик:

    import useWindowSize from 'yourPathHere/hooks/useWindowSize'

    const App = () => {
       const size = useWindowSize()
    
       const [width, setWidth] = useState(null)
       const [height, setHeight] = useState(null)
       const [direction, setDirection] = useState(null)
       useEffect(() => {
           if (size.width > 1200) {
             setWidth('500px')
             setHeight('300px')
             setDirection('row')
           } else if (size.width > 900 && size.width <= 1200) {
           setWidth('100%')
           setHeight('250px')
           setDirection('column')
          } 
          } else return
       }, [ size.width ])
       // yourCodeHere
    }


    // Потом в стилях задаете:
      text_block: {
        width: width
        height: height,
        display: 'flex',
        flexDirection: direction
      }

    И адаптивная верстка готова )
    Это можно использовать и с UI-библиотеками и без них, как угодно. Я использую MaterialUI в своих проектах.
    Но такой вариант только для функциональных компонентов.
    Ответ написан
    5 комментариев
  • Существуют ли конструкторы web-сервисов?

    @AlexCraft
    Software engineer
    Их не существует. Именно поэтому крупные (и не очень крупные) компании делают собственные сервисы. В любом случае, придется делать БД, операции CRUD на сервере, клиентскую часть (фронтенд), продумать бизнес-процессы, workflow для каждого процесса, UX/UI ... и т.д. и т.д. Нет ни одного конструктора, позволяющего все это сделать. Неужели Вы думаете, что можно создать такие сервисы как Yandex-карты (например) или Udemy или Маркетплейс "Беру" или Uber при помощи какого-то конструктора сайтов? Это нереально. Либо в итоге будет полный отстой. С помощью конструктора можно сделать только лендинг ну или чуть сложнее. Всё остальное требует огромных вложений, хорошую команду разработчиков и менеджеров и идею. Если Вас будут убеждать, что можно сделать что-то существенное при помощи конструктора сайтов, это мошенники или неучи, гоните их подальше. В самом начале всё может выглядеть неплохо, но в итоге Вы получите в процессе работы над проектом критически важные ограничения, которые поставят крест на проекте и сделают все затраты, сделанные на такой конструктор полностью бессмысленными (Вы просто выбросите деньги на ветер).
    Ответ написан
    Комментировать
  • Можно ли сейчас без веба?

    @AlexCraft
    Software engineer
    Есть куча сфер, где вебка не нужна, огромное количество десктопных приложений под разные операционки. Не вижу тут сложностей. Не соглашусь, что вебка всегда УГ, все зависит от Вас, как инженера. Можно и для десктопа писать, превратив работу в УГ.
    Ответ написан
    Комментировать
  • Как правильно вывести содержимое json по ключу?

    @AlexCraft
    Software engineer
    Попробуйте так:
    console.log(
      goods.map((good) => `Товар ${good.id}: ${good.name}, цена: ${good.cost} $`)
    )

    А ещё можно произвести деструктуризацию объекта и тогда получится вот так:
    console.log(
      goods.map(({ id, name, cost }) => `Товар ${id}: ${name}, цена: ${cost} $`)
    )
    Ответ написан
    1 комментарий
  • Нужно создать онлайн чат на js socetio и использованием api?

    @AlexCraft
    Software engineer
    Да, можно сервер написать на node.js/express.js. JavaScript уже много лет как позволяет писать серверные приложения, но рекомендую использовать фреймворк, а не изобретать велосипед. Сначала попробуйте exppress, потом можно nest.js, когда с express освоитесь. Документация вся есть на официальных сайтах указанных технологий, кроме того у этой экосистемы есть огромное community, огромное количество примеров, видео-уроков и т.д.
    Ответ написан
    Комментировать
  • Как достать nick из "[id123|nick]" в js?

    @AlexCraft
    Software engineer
    let text = "[id123|nick]"
    let result = text.match(/nick/)
    console.log(result[0])
    Ответ написан
    2 комментария
  • Почему Redux так популярен?

    @AlexCraft
    Software engineer
    Коллега прав, потому что Redux стал стандартом, хорошо документирован, популярен. Но мы используем Context API на новых проектах.
    Ответ написан
    6 комментариев
  • Плохо ли будет написать инстаграм для портфолио на vue js?

    @AlexCraft
    Software engineer
    Если напишете прям Инстагам, это хорошо. Выходите на IPO сразу ))) А если серьезно, то у Vue тоже есть стейт менеджмент, Vuex называется. Он отличается от Redux, но в итоге суть та же.
    Ответ написан
    Комментировать
  • Почему localhost не открывается автоматически при npm start?

    @AlexCraft
    Software engineer
    Коллега выше прав, это в package.json настраивается. В нем есть ... раздел scripts и там в скрипте, который запускает dev (он называется start, судя по всему) надо прописать опцию --open
    Ответ написан
    Комментировать
  • Почему промис выдаёт ошибку?

    @AlexCraft
    Software engineer
    В запрос надо передать токен скорее всего, так как он требует авторизации.
    Ответ написан
  • Opensource хранилище с API для фоток есть?

    @AlexCraft
    Software engineer
    Google Firebase (Firestore). Смотря какое количество файлов, но если квоты не превысить, то бесплатно.
    Ответ написан
  • Где есть хорошие онлайн курсы по веб программированию?

    @AlexCraft
    Software engineer
    гуглите Youtube, у МФТИ есть неплохие курсы (это бесплатно — Лекторий), ну и разные платформы видео-курсов (не называю, чтобы не рекламировать) - там обычно есть бесплатные, на английском - MIT (бесплатно).
    Ответ написан
    Комментировать
  • Существует ли конструктор сайтов для программистов?

    @AlexCraft
    Software engineer
    Конечно да, те же самые, что и для всех остальных людей. Что мешает программисту воспользоваться любым из них? Кроме того, есть много программистов, которые не занимаются веб-технологиями и понятия не имеют как сделать сайт на React (например).
    Ответ написан
    Комментировать
  • Какие книги прочитать по js в 2020?

    @AlexCraft
    Software engineer
    У книг есть одна проблема - они устаревают еще на стадии подготовки к изданию. Книги лучше читать по совсем фундаментальным вещам, которые не меняются: алгоритмы, паттерны и т.д. То, что Вы ищете не найти в книгах (быстро устаревает). Читайте живые стандарты: MDN, JavaScript.info, доки по React / Vue / Angular. Меняйте тип источника: не заходит документация — смотрите курсы с практикой (Youtube, Udemy), слушайте подкасты.
    Ответ написан
    Комментировать
  • Как правильно построить архитектуру приложения Vue?

    @AlexCraft
    Software engineer
    State хранит данные только на клиенте, и даже если Вы сделаете location.reload (обновите окно браузера), все данные потеряются. Так что без БД никак не обойтись.
    Ответ написан
    9 комментариев