Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mightyk1ngrichard/ios-2024-grpc-bridge-performance
gRPC (Google Remote Procedure Call) — это современный высокопроизводительный фреймворк для удалённого вызова процедур, который широко используется для построения распределённых систем и микросервисов. Давайте же рассмотрим его клиент северное взаимодействие в iOS
https://github.com/mightyk1ngrichard/ios-2024-grpc-bridge-performance
grpc-go grpc-swift real-time-message
Last synced: about 2 months ago
JSON representation
gRPC (Google Remote Procedure Call) — это современный высокопроизводительный фреймворк для удалённого вызова процедур, который широко используется для построения распределённых систем и микросервисов. Давайте же рассмотрим его клиент северное взаимодействие в iOS
- Host: GitHub
- URL: https://github.com/mightyk1ngrichard/ios-2024-grpc-bridge-performance
- Owner: mightyK1ngRichard
- Created: 2024-10-23T00:17:49.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-10-23T15:40:28.000Z (3 months ago)
- Last Synced: 2024-11-25T00:09:41.118Z (about 2 months ago)
- Topics: grpc-go, grpc-swift, real-time-message
- Language: Swift
- Homepage:
- Size: 1.07 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Swift+Go+gRPC
## Quick start
### Сервер:
1. Скачать проект
```bash
git clone https://github.com/mightyK1ngRichard/gRPC-Bridge.git
```2. Открыть корень бэкенда:
```bash
cd gRPC-Bridge/gRPC-Service
```3. Запуск gRPC сервиса:
```bash
make start
```Пример успешного запуска:
```docker
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-приложение
```shell
bash
cd iOS-App && open gRPC-App.xcodeproj
```
Xcode открылся!## Команды кодгена:
### Для GoLang:
Генерация прото файла для калькулятора
```bash
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
```Генерация прото файла для чата
```bash
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:
```bash
# Для чата
protoc --swift_out=. chat.proto
protoc --grpc-swift_out=. chat.proto# Для калькултятора
protoc --swift_out=. calc.proto
protoc --grpc-swift_out=. calc.proto
```Ну и плагины для swift:
Для возможности кодгена прото файлов для клиента на Swift надо скачать:
```bash
brew install swift-protobuf grpc-swift
```