Skip to content

gRPC (Google Remote Procedure Call) — это современный высокопроизводительный фреймворк для удалённого вызова процедур, который широко используется для построения распределённых систем и микросервисов. Давайте же рассмотрим его клиент северное взаимодействие в iOS

Notifications You must be signed in to change notification settings

mightyK1ngRichard/ios-2024-grpc-bridge-performance

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Swift+Go+gRPC

Quick start

Сервер:

  1. Скачать проект
git clone https://github.com/mightyK1ngRichard/gRPC-Bridge.git
  1. Открыть корень бэкенда:
cd gRPC-Bridge/gRPC-Service
  1. Запуск gRPC сервиса:
make start

Пример успешного запуска:

docker-compose up
[+] Running 1/0
 ✔ Container grpc-service-grpc-service-1  Created                                                            0.0s 
Attaching to grpc-service-1
grpc-service-1  | 2024/10/23 14:26:22 Сервер gRPC запущен на порту :50051

Всё, бэкенд запущен.

Клиент:

Вернуться в корень репозитория и открыть папку iOS-приложение

bash 
cd iOS-App && open gRPC-App.xcodeproj

Xcode открылся!

Команды кодгена:

Для GoLang:

Генерация прото файла для калькулятора

protoc -I proto proto/calc.proto --go_out=./internal/pkg/calc/generated/ \
 --go_opt=paths=source_relative --go-grpc_out=./internal/pkg/calc/generated/ \
 --go-grpc_opt=paths=source_relative

Генерация прото файла для чата

protoc -I proto proto/chat.proto --go_out=./internal/pkg/chat/generated/ \
 --go_opt=paths=source_relative --go-grpc_out=./internal/pkg/chat/generated/ \
 --go-grpc_opt=paths=source_relative

Для Swift:

# Для чата
protoc --swift_out=. chat.proto 
protoc --grpc-swift_out=. chat.proto

# Для калькултятора
protoc --swift_out=. calc.proto 
protoc --grpc-swift_out=. calc.proto

Ну и плагины для swift:

Для возможности кодгена прото файлов для клиента на Swift надо скачать:

brew install swift-protobuf grpc-swift

About

gRPC (Google Remote Procedure Call) — это современный высокопроизводительный фреймворк для удалённого вызова процедур, который широко используется для построения распределённых систем и микросервисов. Давайте же рассмотрим его клиент северное взаимодействие в iOS

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published