Rambler.iOS #9: Нужны ли бэкенд-разработчики, когда есть Swift?

Preview:

Citation preview

Нужны ли backend разработчики,когда есть swift?

Меджлумян Самвел

Нужны

2

Нужны

3

, но

О чём поговорим 4

⁉ Что случилось

🖖 Введение в мир бэкенд разработки

🏗 S3 инструменты

🆚 Сравнение с другими языками

👍 Best practices

🏃 Выводы

О чём не поговорим

⛺ Как развернуть

🈯 Синтаксис

5

О чём поговорим 6

⁉ Что случилось

🖖 Введение в мир бэкенд разработки

🏗 S3 инструменты

🆚 Сравнение с другими языками

👍 Best practices

🏃 Выводы

Наша команда 7

)*))))))*+),)))

8

Нужны серверные утилиты

🏎

9

Нужны здесь и сейчас

🚀

10

Нужна простая поддержка

/

11

Нужны API для проектов

📡

12

Задачи

🏎 Нужны серверные утилиты

📡 Нужны API для своих проектов

13

📚 Изучить новый инструмент

Решения

14

📚 Изучить новый инструмент

🗣 Попросить кого-нибудь

Решения

15

📚 Изучить новый инструмент

🗣 Попросить кого-нибудь

🤘 Реализовать на любимом инструменте

Решения

Dashramba

16

17

18

19

)))*))))

)*)),)

О чём поговорим 20

⁉ Что случилось

🖖 Введение в мир backend разработки

🏗 S3 инструменты

🆚 Сравнение с другими языками

👍 Best practices

🏃 Выводы

21

Фреймворк

🏗

22

фреймворк =

либа

23

MVC

🖇

24

25

Шаблонизаторы

🎨

26

🖼

🗄

📑

🎨

27

ORM & ODM

🗄

28

Процесс разработки

9

29

🗄

Staging

Production

Dev🗄

30

🗄

Staging

Production

Dev🗄

31

🗄

Staging

Production

Dev🗄

О чём поговорим 32

⁉ Что случилось и почему вам нужен S3

🖖 Введение в мир бэкенд разработки

🏗 S3 инструменты

🆚 Сравнение с другими языками

👍 Best practices

🏃 Выводы

33

🏗 S3 инструменты

Критерия сравнения 34

👯 Комьюнити

🏃 Активность

🗄 ORM & ODM

🎨 Шаблонизаторы

; Продуктивность разработчика

35

Комьюнити 😽😽😽😽 😽😽😽 😽😽 💩

36

Комьюнити 😽😽😽😽 😽😽😽 😽😽 💩

Активность 💪💪💪 💪💪💪💪 💪 💪

38

Комьюнити 😽😽😽😽 😽😽😽 😽😽 💩

Активность 💪💪💪 💪💪💪💪 💪 💪

ORM & ODM 🗄🗄🗄 🗄🗄🗄 🗄🗄🗄 🗄

39

PostgreSQL ✅ ✅ ✅ ✅

MySQL ✅ ✅ ✅ ✅

Redis ✅ ✅ ✅ ✅

MongoDB ✅ ✅ ✅ ➖

SQLite ✅ ✅ ✅ ➖

CouchDB ✅ ✅ ✅ ➖

github.com/vapor/fluent

41

Активность 💪💪💪 💪💪💪💪 💪 💪

ORM & ODM 🗄🗄🗄 🗄🗄🗄 🗄🗄🗄 🗄

Templating 🎨🎨 🎨🎨🎨 🎨🎨 🎨

42

Mustache ✅ ✅ ✅ ✅

Markdown ✅ ✅ ✅ ➖

Stencil ➖ ➖ ✅ ➖

Leaf ➖ ✅ ➖ ➖

43

Продуктивность

;

0

3,25

6,5

9,75

13

Меньше – лучше

44

Установка

0

3,75

7,5

11,25

15

Меньше – лучше

45

Выполнение задачи

0

2,25

4,5

6,75

9

Больше – лучше

46

Субъективная оценка

47

Наш выбор S3 инструмента

О чём поговорим 48

⁉ Что случилось

🖖 Введение в мир бэкенд разработки

🏗 S3 инструменты

🆚 Сравнение с другими языками

👍 Best practices

🏃 Выводы

Сравнение 49

50

Бенчмарки

🔎

Бенчмарки 51

1. JSON

2. Работа с памятью

3. SQL Fetching

JSON 52

Задача: сформировать и выдать json, состоящий из 100 случайных чисел от одного до 1_000_000

JSON 53

0

3500

7000

10500

14000

Количество запросов в секунду

Работа с памятью 54

Задача: создать массив из 1_000_000 случайных чисел. Сортировать массив используя сортировку выбором.

Работа с памятью 55

0

17,5

35

52,5

70

SQL Fetching 56

Задача: сделать выборку 1000 случайных нажатий из базы MySQL. База включает в себя 100_000 пользователей и 50_000 нажатий.

SQL Fetching 57

0

100

200

300

400

Summary 58

0

2,25

4,5

6,75

9

О чём поговорим 59

⁉ Что случилось

🖖 Введение в мир бэкенд разработки

🏗 S3 инструменты

🆚 Сравнение с другими языками

👍 Best practices

🏃 Выводы

👍 Best practices

REST API

SOA

Deploy

60

Rest API 61

⁉ Используйте версионность

Версионность 62

/v1/answers

getAnswers

👍

Rest API 63

⁉ Используйте версионность

💣 Выбрасывайте корректные ошибки

64Неправильно

HEADER: HTTP/1.x 200 OK

BODY:

ERROR_E

65

{ "errors": [ { "status": 404, "code": 1040, "message": "URL not found" } ]}

ПравильноHEADER: HTTP/1.x 404 Not found

Rest API 66

⁉ Используйте версионность

💣 Выбрасывайте корректные ошибки

🛠 Используйте правильные методы

Используйте правильные методы 67

CREATE ⬇ POST

READ ⬇ GET

UPDATE ⬇ PUT

DELETE ⬇ DELETE

68

SOA

🎛

69

Containers

📦

70

71

Service Discovery 72

Zookeeper

DevOps 73

О чём поговорим 74

⁉ Что случилось

🖖 Введение в мир бэкенд разработки

🏗 S3 инструменты

💪 Сравнение с другими языками

👍 Best practices

🏃 Выводы

🏃 Выводы 75

👍 S3 – не компромисс

🍏 Инвестирует Apple

💡 Инвестирует IBM

🔭 Вовлечено большое OSSM

76

@smejl

Recommended