📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

The Tech Stack for Enterprise Software

Ras Mic10:31

Transcription

Все весело и в играх, латание 15 разных сервисов и называние этого SAS, но что происходит, когда вам нужно создать корпоративное программное обеспечение? Что происходит, когда вам нужно создать программное обеспечение для большой компании? Я не знаю, как вы, но мне выпала честь создавать программное обеспечение для больших компаний. Мне нравится постоянно экспериментировать с новыми инструментами, новыми SDK. Но когда вы создаете программное обеспечение для компаний, вам приходится подходить иначе. Вам нужно использовать технологический стек, который проверен в боях, доказан и соответствует требованиям, слово, которое большинство из вас никогда не использует при выборе технологического стека. Итак, я собираюсь показать вам, какой технологический стек я использую для корпоративного программного обеспечения, как его настроить, как я его использую, как он работает, и, надеюсь, вы создадите качественное программное обеспечение для некоторых предприятий. Давайте приступим. Итак, технологический стек для корпоративного программного обеспечения. Прежде всего, Nex.js, эта штука никогда не оставляет меня в покое. Послушайте, Nex.js победил. Все его используют. Многие компании его адаптируют. Если только компания не является "бумером" и не является старой компанией, они, скорее всего, используют какую-то форму React или Nex.js. А Nex.js JS — мой надежный помощник для рендеринга на стороне сервера и клиента, API-маршруты, созданные для безопасности и масштабируемости, и послушайте, экосистема богата. Так что Nex.js — это наш фреймворк выбора. Следующий — Convex. И причина, по которой мы выбираем Convex, заключается в том, что Convex обеспечивает синхронизацию в реальном времени, сквозную типобезопасность, масштабируемость, и вот слово "соответствие требованиям". Он соответствует стандарту SOC 2. Он соответствует стандарту HIPPO. Теперь я не знаю деталей этих соответствий, но я знаю, что компании, особенно крупные, должны обеспечить соответствие требованиям, особенно SOC 2. Ваше программное обеспечение не соответствует стандарту SOC 2, вы будете "засосаны" и, к сожалению, не получите чек. Convex не только соответствует стандарту SOC 2, но и является лучшим бэкендом для создания очень плавных, быстрых и бесшовных приложений, а третье — для нашей аутентификации мы будем использовать Work OS. Это первый раз, когда я упоминаю Work OS на этом YouTube-канале, и причина в том, что Work OS буквально предназначена для корпоративного программного обеспечения. Cursor использует Work OS. Open AAI использует Work OS. И причина, по которой Work OS важна, заключается в том, что все термины, связанные с соответствием требованиям, которые вы можете себе представить. SSO, S, SOC 2, GDPR, GDP, ADP, как бы эти термины ни назывались. Опять же, я не знаю определений и технических деталей. Я просто использую инструменты, которые соответствуют этим критериям. И Work OS, если вы создаете приложение для бизнеса, корпоративный уровень — это то, что вам нужно. Я знаю, что существует множество замечательных поставщиков O, но никто не справляется с корпоративным сегментом лучше, чем Work OS. Когда мы объединяем эти три компонента: Nex.js с молниеносным пользовательским интерфейсом и масштабируемостью, Convex — мощный, реактивный и с минимальными накладными расходами, а затем Work OS для всего корпоративного O, о котором вы можете думать и мечтать. Дамы и господа, у нас есть отличный технологический стек для бизнеса и корпоративного сегмента. Теперь, прежде чем я покажу вам, как это настроить, некоторые из вас, вероятно, скажут мне: "Эй, я не разработчик. Я не пишу код. Как мне создать внутренние инструменты для моей компании или программное обеспечение для бизнеса? Правильно? Многие инструменты для кода не совсем подходят для этого или не помогают вам в этом. Вот почему я хочу поделиться с вами Retool, спонсором сегодняшнего видео. Retool — это потрясающе, если вы нетехнический человек или вы технический человек и не хотите писать код, чтобы создавать программное обеспечение, которое могут использовать предприятия. Например, скажем, я хотел бы создать веб-сайт. Я могу использовать их шаблоны, верно? Например, здесь панель администратора Firebase или менеджер промокодов, верно? Это инструменты, которые предприятия, особенно внутренние инструменты, будут создавать. И буквально, вы можете нажать "Создать приложение из шаблона" и создавать на основе их существующих шаблонов приложений. Допустим, вы хотите хранить данные, верно? Допустим, вам нужна база данных или хранилище, например, для хранения изображений или файлов, или вам нужно отправлять электронные письма, или вам нужно настроить приложение с искусственным интеллектом. Буквально за несколько кликов Retool имеет все эти ресурсы, готовые для вас. Так, скажем, я хотел бы создать приложение для чата с искусственным интеллектом, но я не хочу управлять своим ключом OpenAI, API-ключом, ключом Anthropic, ключом Deepc. Retool позаботится об этом для меня. Мне нужна база данных, верно? И что круто в их базах данных, я могу создать новую таблицу и импортировать из файла CSV. Так, скажем, у вас есть Google Таблица или что-то еще, вы можете буквально в один клик импортировать из файла CSV и получить работающую базу данных в Retool, подключить ее к только что созданному приложению. У вас есть программное обеспечение, которое будет использовать любой бизнес. Допустим, вы хотите настроить рабочие процессы, верно? Довольно сложный рабочий процесс, который я могу себе представить, — это получение сообщения Slack каждый раз, когда есть совпадение запроса в вашей базе данных. Верно? Так, я могу нажать "Использовать этот шаблон", и тогда Retool сделает следующее: он запустит весь рабочий процесс, и я смогу использовать эту среду и подключать эти узлы и запускать рабочий процесс. И последнее, но не менее важное: агент. Скажем, вы хотите создать агент для компании. Вы можете начать с их шаблонов или создать агент с нуля. Допустим, вы хотели бы создать ответчика на лиды продаж. Я просто нажму "Создать", кликну по этому шаблону, и я буквально смогу создать агент на основе их шаблона, подключить его к любым ресурсам, развернуть и использовать. И если вы хотите заработать немного дополнительных денег, продайте это предприятиям или используйте это в своем собственном бизнесе. На мой взгляд, это лучшая альтернатива, если вы не разработчик, вы не хотите писать код, используйте Retool, ссылка в описании. Теперь вернемся к настройке нашего корпоративного технологического стека. Лучший способ настроить стек — это открыть терминал и набрать mpm create convex at latest. Вы нажмете Enter, и я просто назову это my app. Мы будем использовать маршрутизатор приложений Nex.js. Мы будем использовать OKIT от Work OS. Причина, по которой мы будем использовать эту команду Convex, заключается в том, что она подготовит для вас учетную запись Work OS. Итак, я нажму Enter. Все запускается. Я получаю добавленные правила курсора. Так что, если я буду использовать ИИ для создания этого проекта, это будет работать безупречно. Итак, наш проект настроен, и все, что мне нужно сделать, это mpm install, а затем я запущу mpm rundev. Я создам новый проект Convex. Я просто назову его check. Мы сделаем облачное развертывание. И если вы раньше не настраивали Work OS, он подтвердит с вами, какую электронную почту вы хотите использовать. Он будет использовать ту же электронную почту, что и ваша электронная почта Convex. Я делал это много раз. Вот почему он меня не спрашивает. Но теперь наш проект запущен. Если мы перейдем по адресу localhost 3000, я должен увидеть здесь свое приложение. Итак, у меня настроены Convex, Nex.js и Work OS. Если я нажму "Зарегистрироваться", я увижу, что могу зарегистрироваться здесь. Позвольте мне зарегистрироваться через свою учетную запись Google. Я зарегистрируюсь через свою личную электронную почту. И я зарегистрирован. И это мини-демо Convex. Вы можете нажать "Добавить случайное число", и вы увидите, как оно мгновенно обновляется. И что круто в Convex, так это то, что он по своей природе работает в реальном времени и реактивен. Что я имею в виду под этим? Итак, что я имею в виду под этим, я хочу, чтобы вы посмотрели на числа здесь. Я открою новую вкладку и нажму "Добавить число". И вы увидите, что обе страницы синхронизированы. Вы получаете это по умолчанию. Создание этого с нуля или использование любого другого бэкенда как услуги сложно, но с Convex это готовое решение. Я хочу дать вам обзор кода бэкенда и почему я считаю, что сочетание Nex.js и Convex — идеальная комбинация для создания приложений. Теперь, в папке Convex, я хочу, чтобы вы заметили, что все, что является моим бэкендом, находится в этой папке convex. Все — это код. И в Convex есть три основных примитива. Я хочу, чтобы вы подумали о запросах (queries), мутациях (mutations) и действиях (actions). И, по сути, как все это работает, вы можете думать о своем клиенте как о Nex.js, верно? Ваше приложение Nex.js вызывает серверную функцию. И есть три серверные функции: запросы, мутации или действия. Запросы и мутации взаимодействуют с базой данных. Что я имею в виду? Запрос считывает данные из базы данных. Мутация записывает данные в базу данных. А действие позволяет мне отправлять или получать данные от стороннего API. Так что, если я хочу выполнять какие-либо выборки, вызовы, что угодно, касающееся любого стороннего API, я буду использовать действие. И причина, по которой это потрясающе, заключается в том, что это создает границу между моим клиентом и моей базой данных. Верно? С Convex мне не разрешается напрямую вызывать или читать или записывать данные из базы данных, не написав сначала серверную функцию, и эта серверная функция работает с базой данных. Итак, когда мы думаем о запросах, я только что объяснил вам, что запросы читают данные, верно? Так что, если мы посмотрим на этот пример запроса, у нас есть аргументы, которые мы передаем, и это, по сути, валидатор, верно? Так, я получу счетчик, который является числом типа, и обработчик. Это, по сути, реализация, в данном случае реализация запроса. По сути, то, что мы будем делать в обработчике, это мы будем запрашивать таблицу чисел в порядке времени создания, верно? В убывающем порядке, чтобы получить самые последние. По сути, мы хотим получить общий счет. Мы вернем числа. Мы пройдемся по ним и перевернем их, все эти хорошие вещи. Но мы также вернем идентификатор зрителя. И причина, по которой у нас есть доступ к идентификатору пользователя, заключается в тесной интеграции Convex с Work OS, верно? Так что вы получаете все это из коробки. Вот как легко читать данные из вашей базы данных. И вызвать это на фронтенде так же просто, как импортировать usequery, который вы получаете из пакета convict/react. И что потрясающе в Convex, так это его типобезопасность. И я покажу вам, как. Итак, я наберу API. И затем, когда я нажму точку, вы увидите, что я получаю это определение типа, мои функции. И я нажимаю точку. Я могу добавить список чисел, список чисел. Я сделаю список чисел, потому что я хочу получить общее количество чисел. И затем мне нужно передать счетчик, если вы помните. И снова, все это типобезопасно. Теперь вы можете задаться вопросом, откуда я взял API.my functions.list number. Если я зайду в папку Convex, API приведет меня сюда, а затем точка my functions приведет меня в файл my functions, а затем list numbers позволит мне вызвать этот запрос. Вот почему, если вы видите add number, use mutation, use mutations, как use query, я могу вызвать мутацию. Я могу вызвать серверную функцию на моем клиенте. И если я посмотрю на API functions add numbers, вы можете увидеть, как я могу получить все определения типов. Если я прокручу вниз и посмотрю на мутацию, посмотрите, как она называется. Add numbers, верно? Итак, у меня есть этот потрясающий опыт разработчика поверх соответствия требованиям. Таким образом, как разработчик, я могу быстро выпускать и двигаться вперед, но также и с точки зрения бизнеса, у меня есть все вопросы соответствия, решенные. И дамы и господа, вот почему я бы использовал эти три инструмента для создания программного обеспечения для бизнеса или корпоративных клиентов. Я двигаюсь быстро. Я создаю отличное программное обеспечение. И все инструменты соответствуют требованиям. Я знаю, что у нас, веб-разработчиков, есть зуд пробовать каждое новое программное обеспечение, но когда вы создаете для бизнеса, вам нужно использовать инструменты, которые работают и соответствуют требованиям. И это те инструменты. Я надеюсь, вам понравилось это видео. Обязательно ставьте лайк, комментируйте, подписывайтесь, нажмите на колокольчик уведомлений. Дайте мне знать, что вы хотите увидеть на этом канале. Я постоянно загружаю контент, поэтому буду рад вашим отзывам. Буду рад вашей поддержке. Буду рад вашей любви. Я ценю вас. Я благодарю вас. Я молюсь за всех вас. Прекрасного вам дня, недели, ночи, чего бы это ни было. Увидимся в следующем видео. Мир.