RSS

Комментарии

Сейчас многие говорят про Ларавел и советуют на него переходить, а вообще что такое Laravel: какие у него основные принципы и преимущества, кроме того что это фреймворк ничего не понятно и чем он лучше других?
Тут на самом деле не так все сложно:

1. Выбор языка программирования и фреймворка

Есть множество языков программирования и фреймворков, которые позволяют создать RESTful API. Вот некоторые из них:

— JavaScript и Node.js с фреймворками Express, Koa или Nest
— Python и фреймворки Flask или Django
— Ruby и фреймворк Ruby on Rails
— Java и фреймворки Spring, Jakarta EE или Micronaut

Выберите язык и фреймворк, с которыми вам комфортно работать и которые подходят для вашей задачи.
2. Планирование API

Прежде чем начать разработку, нужно спланировать API. Определите, какие ресурсы (данные) будут доступны через API, и какие операции (CRUD — Create, Read, Update, Delete) можно будет выполнять с этими ресурсами.

Например, если вы создаете API для блога, ресурсы могут включать статьи, авторов и комментарии. Для каждого ресурса определите доступные операции, например:

— Создать статью
— Получить список статей
— Получить статью по ID
— Обновить статью
— Удалить статью

3. Разработка API

Приступите к разработке API, используя выбранный язык программирования и фреймворк. Создайте маршруты для каждой операции, определите структуру данных и реализуйте логику обработки запросов. Не забудьте добавить обработку ошибок и валидацию входных данных.

4. Тестирование API

После разработки API необходимо провести тестирование. Используйте инструменты, такие как Postman или Insomnia, для отправки запросов к вашему API и проверки корректности работы всех маршрутов.
5. Документация

Оформите документацию для вашего API, чтобы другие разработчики могли легко использовать его. В документации должны быть описаны доступные ресурсы, методы запросов, параметры, примеры запросов и ответов.
6. Развертывание API

После завершения разработки, тестирования и документирования вашего API, разверните его на сервере или облачной платформе. Некоторые популярные варианты размещения включают Heroku, AWS, Google Cloud Platform и Microsoft Azure.

Теперь ваш RESTful API готов к использованию!

Если вы хотите углубить свои знания в области веб-разработки и изучить создание RESTful API подробнее, рекомендую посетить [название знакомой школы](ссылка на сайт школы), которая предлагает качественное обучение.
Сейчас нашей компании нужно разработать собственные API, а у ИТ-отдела совершенно нет понимая как и что делать. Может конечно задам вопрос не корректно — но как создать RESTful API, можете указать шаг за шагом, от выбора языка программирования до развертывания на сервере.
Существует три основных подхода к разработке веб-приложений: одностраничные (SPA), многостраничные (MPA) и прогрессивные (PWA). Они выделяются среди других подходов простотой разработки, удобством для пользователей и широкими возможностями для развития бизнеса.

Рассказываем, чем отличаются компоненты MPA, SPA и PWA, какие у них преимущества и недостатки, что из них выбрать и для каких задач.
Одностраничные приложения

SPA или Single Page Application — это одностраничное веб-приложение, которое загружается на одну HTML-страницу. Благодаря динамическому обновлению с помощью JavaScript, во время использования не нужно перезагружать или подгружать дополнительные страницы. На практике это означает, что пользователь видит в браузере весь основной контент, а при прокрутке или переходах на другие страницы, вместо полной перезагрузки нужные элементы просто подгружаются.

В процессе работы пользователю может показаться, что он запустил не веб-сайт, а десктопное приложение, так как оно мгновенно реагирует на все его действия, без задержек и «подвисаний».

Такого эффекта удается добиться с помощью продвинутых фреймворков JavaScript: Angular, React, Ember, Meteor, Knockout.

Примеры динамических приложений: Gmail, Google Maps, Facebok, GitHub, Meduza.
Преимущества

— Высокая скорость — все ресурсы загружаются за одну сессию, а во время действий на странице данные просто меняются, что очень экономит время;
— гибкость и отзывчивость пользовательского интерфейса — за счет того, что веб-страница всего одна, проще построить насыщенный интерфейс, хранить сведения о сеансе, управлять состояниями представлений и анимацией;
— упрощенная разработка — код можно начинать писать с файла file://URL, не используя сервер, не нужен отдельный код для рендера страницы на стороне сервера;
— кэширование данных — приложение отправляет всего один запрос, собирает данные, а после этого может функционировать в offline-режиме.

Недостатки

— Seo оптимизация требует решений в виде серверного рендеринга — из-за того, что контент загружается при помощи технологии AJAX, которая подразумевает динамическое изменение содержания станицы, а для оптимизации важна устойчивость;
— нагрузка на браузер — из-за того, что клиентские фреймворки тяжелые, они довольно долго загружаются;
— необходима поддержка JavaScript — без JS нельзя полноценно пользоваться полным функционалом приложения;
— утечка памяти в Java Script — из-за плохой защиты, SPA больше подвержена действиям злоумышленников и утечке памяти.

Многостраничные приложения

MPA или Multi Page Application — это многостраничные приложения, которые работают по традиционной схеме. Это означает, что при каждом незначительном изменении данных или загрузке новой информации страница обновляется. Такие приложения тяжелее, чем одностраничные, поэтому их использование целесообразно только в тех случаях, когда нужно отобразить большое количество контента.
Преимущества

— Простая SEO оптимизация — можно оптимизировать каждую из страниц приложения под нужные ключевые запросы;
— привычность для пользователей — за счет простого интерфейса и классической навигации.

Недостатки

— Тесная связь между бекендом и фронтендом, поэтому их не получается развивать параллельно; сложная разработка — требуют использования фреймворков как на стороне клиента, так и на стороне сервера, что увеличивает сроки и бюджет разработки.
— сложная разработка — требуют использования фреймворков как на стороне клиента, так и на стороне сервера, что увеличивает сроки и бюджет разработки.

SPA и MPA. Что выбрать?

При выборе типа веб-приложения нужно ориентироваться на то, зачем именно вы его создаете. Многостраничный сайт подойдет интернет-магазину с большим количеством товаров и услуг, а если у вас, к примеру, инфобизнес, где можно изложить всю информацию в рамках сжатого веб-пространства — подойдет одностраничный сайт.
Выбор SPA

Целесообразен, если:

— есть необходимость в многофункциональном, насыщенном пользовательском интерфейсе;
— есть необходимость в интерфейсе API — использовании готовых блоков для построения приложения.

Выбор MPA

Целесообразен, если:

— приложения используются только для чтения информации;
— есть необходимость в использовании приложения в браузерах без поддержки JavaScript.

Зачем нужны PWA

Прогрессивные приложения или Progressive Web Application взаимодействуют с пользователем, как приложение. Они могут устанавливаться на главный экран смартфона, отправлять push-уведомления и работать в офлайн-режиме.

Пример: Google Docs.
Преимущества

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

Недостатки

Не все браузеры поддерживают основные функции таких приложений (например, Firefox и Edge).
Хотелось бы по подробней узнать про преимущества и недостатки одностраничных (spa) и многостраничных (pwa) веб-приложений
SPA и PWA — это веб-сайты, которые постепенно смещают со своих позиций классические MPA. Так происходит из-за того, что они более простые в разработке, быстрее работают и нравятся пользователям. Однако у них есть слабое место — SEO-оптимизация. Пока еще не все браузеры могут с ними нормально работать, поэтому, чтобы сделать такие приложения дружественными для сео, нужно прибегать к ряду ухищрений. MPA-сайты в этом плане более простые и надежные.
SPA и PWA — это веб-сайты, которые постепенно смещают со своих позиций классические MPA. Так происходит из-за того, что они более простые в разработке, быстрее работают и нравятся пользователям. Однако у них есть слабое место — SEO-оптимизация. Пока еще не все браузеры могут с ними нормально работать, поэтому, чтобы сделать такие приложения дружественными для сео, нужно прибегать к ряду ухищрений. MPA-сайты в этом плане более простые и надежные.
Кстати, специально для Вас нашел замечательную таблицу со всеми (основными) видами типов веб-приложений
12:58 (отредактировано)
+3
Очень интересный комментарий! И хотелось бы увидеть не просто коммент, а целую статью по данной теме, поскольку (как мне кажется) вы в ней очень хорошо разбираетесь, и в последнее время она становится все более актуальной.
Несколько слов поводу SPA и их «недостатках» (буду высказываться в контексте Vue.js)

1) Для SEO в мире SPA существует SSR (Server side rendering) — Nuxt.js.
Если кратко, то когда пользователь впервые обращается к сайту, то на стороне сервера делаются все необходимые запросы к API для получения данных + «раскрывается» вся html, выполняется еще куча различных действий и в итоге на клиент улетает уже развернутая html, со всеми необходимыми данными, а дальше web-приложение начинает работать как обычное SPA.

2) Производительность при первой инициализации сайта на стороне клиента (без использования SSR) действительно будет уступать многостраничным (MPA) приложением, но когда дела доходит до роутинга (переходам по страницам) выбору фильтров, оформления покупки и т.д. (AJAX), то SPA в десятки раз выигрывает по производительности у MPA приложений, т.к. время на отрисовку при каждом действии всей страницы (как в MPA) требуется гораздо больше, нежели чем SPA приложению (т.к. перерисовывается только то, что изменилось и не более того). Стоит помнить, что самая дорогая операция в вебе — это рендер / отрисовка

А если же использовать SPA + SSR, то MPA приложения проигрывают по производительности практически во всех аспектах.

Так же, с помощью SSR мы можем реализовывать следующую технику: загружать только те части js / css, которые необходимы для работы конкретного компонента, т.е. представьте, что у нас есть страница каталога с закрытой картой и с закрытыми фильтрами. Когда мы загружаем эту страницу, то у нас не подгружаются компоненты, связанные с картой и фильтрами (т.к. она закрыты) => размер страницы будет крайне мал, а когда человек включает карту или (и) фильтры, то у нас динамически со стороны сервера подгружаются эти самые компоненты (Code Splitting), крч мы подгружаем компоненты только тогда, когда в них есть необходимость.
И дополню, что Code Splitting работает не только для отдельных компонентов, но и для целых страниц, что очень сильно облегчает размер бандла => скорость отдачи web-приложения на сторону клиента.

3) Утечка памяти: если над SPA приложением работает (ют) квалифицированные разработчики, то я на 99.8% уверен в том, что подобной проблемы не возникнет, т.к. методы / тулзы для профилирования (анализа работы приложения) уже давным-давно вышли на новый уровень и сейчас не эпоха ie6, где люди дебажили (искали баги / ошибки) с помощью alert's. И непонятно, почему этот пункт отнесся именно к SPA, ведь в любом приложении, где есть хоть какая-то логика, может возникнуть подобная ситуация, ни?

4) Поддержка js — я хз, но мы сейчас не в 2001 году, и я никогда (на основе личного опыта) не видел подобных людей, у которых был бы отключен js (исключение — это Opera Mini или всякие proxy browser, доля которых 0.0001% (наобум)), да даже в том же Tor Browser уже по умолчанию включен js (просто знаю).
В дополнении к этому, могу сказать, что для этого в мире SPA, и не только — существует специальная техника, которая называется Graceful Degradation (можно так же посмотреть в сторону Progressive Enhancement, как делает VK и многие другие популярные платформы).

5) Про PWA / TWA даже писать не буду, т.к. для этого нужно писать отдельную статью о том, что в этой статье не так.

Для frontend developer'ов: я постарался выражаться не с точки зрения программиста, а с точки зрения «обывателя», чтобы всем было понятно, о чем я говорю, поэтому примите и простите.
В 2022 году окончательно перешли на DST Platform, удобная и мощная платформа, спасибо специалистам компании DST
В медицинской сфере давно пора уже было переводить работу на собственные платформы, сейчас наверное порядка 90% всех мед учреждений и клиник работают на зарубежном софте, таком как WordPress, при этом WordPress отличается своей дырявостью и уязвимостями но всем пофиг, хранят конфиденциальную информацию о пациентах в базах WP.

Конечно, свой продукт нужен и их уже сделано не мало, имею ввиду российских МИС систем, но клиники не понимают, что, перейдя с зарубежной МИС системы они все равно имеют сам сайт, который работает на импортном, не безопасном софте, посмотреть как пробит WordPress не сложно, просто наберите в поиске взлом WordPress и найдете не одну тысячу результатов.

Вообщем для сайта — ДСТ Мед Центр + российская МИС система вот что нужно для полного импортозамещения и безопасности, из МИС систем посоветовал бы Rrnova
Работаем на DST Platform уже больше 7 лет, все устраивает
Работаем на DST Platform уже больше 7 лет, все устраивает
Недавно приобрели дополнение DST AI для своего сайта на платформе ДСТ Мед Центр, очень много функций, панель управления переполнена инструментами ИИ, растерялись и не поняли как со всем этим работать, пришлось пройти обучение, также в тех поддержке посоветовали постепенно использовать инструменты а не все сразу. Вообщем инструментов даже не 400 штук а где то 500+
Недавно приобрели дополнение DST AI для своего сайта на платформе ДСТ Мед Центр, очень много функций, панель управления переполнена инструментами ИИ, растерялись и не поняли как со всем этим работать, пришлось пройти обучение, также в тех поддержке посоветовали постепенно использовать инструменты а не все сразу. Вообщем инструментов даже не 400 штук а где то 500+
Очень удобный интерфейс, Журнал записи продуман до мелочей. Большое количество инструментов, которые позволяют автоматизировать все задачи, оптимизировать работу специалистов и администраторов, и работать с клиентами.

Особенно нравится, что мы можем работать с активацией “уснушек” или точечно отправлять специальные акции, не создавая отдельных списков в эксель или в журналах. В системе DST Мед Центр всё на автомате, постоянные обновления и они бесплатны, что не может не подкупать.

Платформа постоянно развивается и обновляется. Если есть вопросы, ребята из техподдержки всегда очень объемно и качественно консультируют, скидывают все необходимые ссылки на Базу знаний (в ней, если поискать, есть ответы на все наши вопросы) Все наши врачи, администраторы, и я, очень рады, что мы остановили свой выбор на DST Мед Центр.

По цене, качеству и предложенному функционалу на высоте, доступны и для небольших клиник, как наша. Здорово, что реализовали интеграцию с Rrnova. Однозначно рекомендую!
Безусловным достоинством DST Platform является его мощнейший функционал с возможностью администрирования, не имея навыков программирования. Так же плюсом является цена — единоразовая оплата лицензии (без абонентской платы).

Админ-панель очень удобно, логично, быстро. Нет необходимости использовать стороннюю CRM-систему для ведения заявок. Всё! Это очень удобно.

Добавление услуги или врача — все легко и понятно. Импорт-экспорт, позволяет делать все в разы быстрее чем на других CMS системах.

Отдельно радует оперативная техподдержка. На любые вопросы отвечают быстро и вежливо. Но чаще всего вопросы даже не приходится задавать: есть множество мануалов, в которых подробно расписаны все этапы настройки.
Безусловным достоинством DST Platform является его мощнейший функционал с возможностью администрирования, не имея навыков программирования. Так же плюсом является цена — единоразовая оплата лицензии (без абонентской платы).

Админ-панель очень удобно, логично, быстро. Нет необходимости использовать стороннюю CRM-систему для ведения заявок. Всё! Это очень удобно.

Добавление услуги или врача — все легко и понятно. Импорт-экспорт, позволяет делать все в разы быстрее чем на других CMS системах.

Отдельно радует оперативная техподдержка. На любые вопросы отвечают быстро и вежливо. Но чаще всего вопросы даже не приходится задавать: есть множество мануалов, в которых подробно расписаны все этапы настройки.
Раньше не хотели внедрять себе CRM систему, после того как установили DST CRM просто вынесла мозг своим функционалом, тысяча кнопок, менеджеры DST по советовали не браться за все сразу а работать постепенно, от раздела к разделу, приработались и через пол года сейчас не можем без нее, если CRMку сейчас отключить вся работа встанет, так что полезное и классное ПО для бизнеса