Микроконсультации для быстрого и недорогого ускорения ваших проектов
У вас есть вопросы, а у нас есть ответы. Вот что такое Codementor! У меня был недавний опыт работы с клиентом на этой платформе, в котором Я смог оказать наибольшую помощь в кратчайшие сроки и, следовательно, за наименьшие деньги. Я называю эту службу Микроконсультация.
Я использую Codementor уже некоторое время и использовал его в основном для обучения людей один на один, а иногда и для внештатных проектов. Недавно клиент попросил меня о чем-то новом.
Он был разработчиком PHP + MySQL, который хотел изучить Node + React и переписать существующее приложение, которое у них было в производстве, в этих средах. Он часами проводил исследования в Интернете и был изнурен этим. Что не было для меня неожиданностью. Ландшафт веб-разработки, состоящий из инструментов, фреймворков и множества мнений, столь же сложен, как и любой другой.
Я помню, когда я изучал веб-разработку на Dev Bootcamp 4 года назад, читая о том, почему какой-то новый инструмент, о котором я никогда не слышал, был будущим, и почему я должен «забыть» какой-то «старый» инструмент (обычно малыш по человеческим меркам) , и желание лечь на пол и умереть. Интернет полон кликбейтных статей, полных мнений, легких по существу статей с заголовками вроде «Почему ты идиот для изучения Rails, и почему, если ты не выучишь все, что угодно, JS, ты умрешь бездомным и одиноким».
Хотя я немного глуп, в этом нет ничего смешного, когда ваша будущая способность обеспечивать зависит от изучения того, что вам нужно знать.
Именно здесь микроконсультация может сэкономить массу времени и нервов. Иногда нам просто нужно, чтобы кто-то быстро ответил на несколько вопросов и указал нам правильное направление.
Я очень благодарен моему клиенту, который был в таком же положении, как и я, и показал мне, насколько эффективными могут быть микроконсультации. Вот краткое изложение того, что я послал ему в ответ на его вопросы, которые я предоставляю вам бесплатно.
В: Что значит использовать «только экспресс»?
А: Express — это доминирующая среда MVC для создания веб-API в узле. Большинство серверных частей узла используют экспресс. Он легкий и дает свободу вводить новшества, а также испортить его. Существуют и другие фреймворки, созданные на основе Express, которые добавляют функциональность и структуру и могут ускорить процесс сборки, но также добавляют уровни абстракции, которые могут сбить с толку новичка в Node.
Я бы не обязательно предлагал «только экспресс», так как экспресс использует «промежуточное ПО» для добавления функциональности, и было бы глупо не воспользоваться преимуществами существующего промежуточного ПО.
В: Что случилось с сиквелом? Должен ли я использовать его?
О: Абсолютно. Sequelize — это ORM для использования баз данных SQL с Node.
В: А как насчет этой новинки GraphQL?
О: GraphQL потрясающий! Однако, поскольку вы уже знакомы с базой данных MySQL и запускаете ее, я бы посоветовал вам просто использовать sequenceize, чтобы вы могли придерживаться того, что знаете о БД, и сохранить свои возможности для новых вещей для Node/React. Это особенно верно для стандартных приложений Restful CRUD. SQL по-прежнему отлично работает для них.
Учитывая ваши конкретные цели, я бы предложил создать серверную часть с базой данных SQL и поработать над пониманием Node и Express на серверной части, а также React на интерфейсе, а затем изучить GraphQL после этого. Однако это не слишком сложно. Если вы чувствуете прилив энергии, изучая его, дерзайте!
В: А как насчет йоги?
О: Я мало что знаю о йоге, кроме того, что это механизм компоновки, который может работать на разных платформах, и что React Native использует его встроенно. Я думаю, вы можете просто изучить React Native и позволить этому диктовать ваше использование йоги, и не думайте слишком много об этом. Я бы не советовал пытаться использовать его вне React Native, хотя вы вполне можете это сделать, вероятно, было бы проще использовать что-то вроде Material.ui или React-bootstrap для вашей веб-версии.
Вопрос: призма?
О: Prisma выглядит интересно и может заменить Sequelize. Он работает как с базами данных SQL, так и с NoSQL, что очень удобно. Он может похвастаться функциями Typesafe, что круто, но не обязательно для того, что вы делаете. Он также может похвастаться использованием функций async и await, как и Sequelize. В целом, я бы сказал, что на это стоит обратить внимание в будущем, но я бы остановился на Sequelize, у которого больше сообщества.
Вопрос: экспресс-график?
A: То же, что и выше, для graphql. Это просто промежуточное ПО для подключения graphql к Express.
Вопрос: Аполлон?
О: Инструменты разработки и облачные сервисы для Graphql. Похоже, это хороший вариант, если вы решите использовать Graphql, но опять же, я бы посоветовал пока оставить это и придерживаться MySQL.
В: Является ли oidc хорошим способом обработки аутентификации?
О: Короче говоря, да. Изучая это, следите за руководствами, в которых используется Okta, так как это конкретная платформа Saas, которая вам не нужна. Они сделали много руководств, которые показывают, как использовать их сервис. Это выглядит как отличная платформа, но, с моей точки зрения, это скорее то, что вы, возможно, захотите обновить, чем то, что можно использовать с самого начала.
У меня был хороший опыт использования как Passport, так и моего собственного использования промежуточного программного обеспечения сеансов и bcrypt. Я бы посоветовал сделать это проще, держаться подальше от JWT и использовать OAuth2 только в том случае, если ваши клиенты действительно хотят использовать Google или FB для входа в систему. Нет ничего плохого в основных имени пользователя/пароле.
В: действительны ли эти руководства? или есть лучше? я должен следовать только один?
А: Выглядит хорошо. Он использует JWT, которого я не фанат. По этой причине я бы не советовал использовать это для создания вашего приложения, но похоже, что он хорошо показывает, как создавать остальную часть, так что это может быть полезно для обучения. Я бы согласился с его утверждением, что GraphQL лучше, чем REST, для 90% приложений с большой долей морской соли.
A: Это выглядит довольно идеально для моего взгляда на то, что вы пытаетесь сделать. Ничего особенного, просто продолжайте + экспресс
А: При этом используется Pug, механизм шаблонов, который вам не нужен для создания JSON API. Он также использует промежуточное программное обеспечение Okta, которое вам нужно только в том случае, если вы хотите использовать их средства управления пользователями SASS, которые, как я уже упоминал, выглядят очень многообещающе, но могут быть излишними с небольшой пользовательской базой. Как я уже упоминал, нет ничего плохого в простом Auth. Я бы пропустил это пока.
В: Что мне следует думать о производительности с React и Node?
A: Node/Express обладает высокой производительностью.
Реакт тоже. Для мобильных устройств, если вы используете React Native, у вас будет прекрасно быстрое приложение, потому что оно компилируется в байт-код.
Если производительность не очень важна, и вам не нужно, чтобы ваше приложение общалось напрямую с телефоном, вы можете просто создать приложение React и запустить его на телефоне через веб-просмотр. У меня нет времени углубляться в это прямо сейчас. Но это хорошая причина создать приложение React перед созданием приложения ReactJS. Также можно пойти в другом направлении и написать нативное приложение для реагирования и запустить его в браузере с помощью React-Native-Web. Это ново и, вероятно, сложно, и, вероятно, оно того не стоит.
В: Я читал, что в одной из платформ, которые я перечислил, есть некоторая функциональность, которая называется «подписка», и мне кажется, что она может наблюдать за базой данных и обновлять страницу клиента в режиме реального времени по мере ее изменения. хотя, возможно, это было бы полезным улучшением.
А: Да, вы говорите о веб-сокетах. Он поддерживает соединения открытыми и может отправлять обновления в реальном времени с клиента на сервер и наоборот. Проверь это:
Мне потребовалось меньше часа, чтобы написать это, и клиент был в восторге от этого. Это могло бы сэкономить им десятки часов и придать уверенности в том, что они смогут продолжить работу над своим проектом. По их словам, это пишут
«Хороший парень. Очень помог. Решил мою проблему почти сразу».
** Если вы находитесь в той же лодке и вам нужен кто-то, кто ответит на несколько вопросов и укажет вам правильное направление с помощью записи, как указано выше, я бы посоветовал вам нажать кнопку с моим красивым лицом в правом нижнем углу страницы. экран. ** Пожалуйста, не стесняйтесь сначала использовать чат, чтобы обсудить со мной, прежде чем мы создадим внештатную работу.
В зависимости от глубины ваших вопросов, Вероятно, я смогу ответить на все из них за 30-120 минут, что означает 30-120 долларов. Я могу с уверенностью сказать, что это невероятная сделка. Дайте мне знать, что вам нужно и ваш бюджет, и давайте продвинем вас вперед на пути обучения, вашего проекта и вашей уверенности. И в следующий раз, когда вы увидите статью, предлагающую вам забыть о каком-то мощном инструменте с тысячами активных пользователей, над изучением которого вы усердно работали, почему бы не оставить комментарий, вежливо сообщив им, куда они могут поместить свою кликбейт, тревогу, производящую чепуху.
Всем удачного кодирования!