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

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

Upload: ramblerco

Post on 23-Jan-2018

223 views

Category:

Technology


2 download

TRANSCRIPT

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

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

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

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

Нужны

2

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

Нужны

3

, но

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

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

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

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

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

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

👍 Best practices

🏃 Выводы

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

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

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

🈯 Синтаксис

5

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

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

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

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

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

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

👍 Best practices

🏃 Выводы

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

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

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

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

8

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

🏎

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

9

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

🚀

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

10

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

/

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

11

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

📡

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

12

Задачи

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

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

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

13

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

Решения

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

14

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

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

Решения

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

15

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

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

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

Решения

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

Dashramba

16

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

17

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

18

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

19

)))*))))

)*)),)

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

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

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

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

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

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

👍 Best practices

🏃 Выводы

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

21

Фреймворк

🏗

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

22

фреймворк =

либа

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

23

MVC

🖇

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

24

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

25

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

🎨

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

26

🖼

🗄

📑

🎨

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

27

ORM & ODM

🗄

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

28

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

9

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

29

🗄

Staging

Production

Dev🗄

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

30

🗄

Staging

Production

Dev🗄

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

31

🗄

Staging

Production

Dev🗄

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

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

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

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

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

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

👍 Best practices

🏃 Выводы

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

33

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

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

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

👯 Комьюнити

🏃 Активность

🗄 ORM & ODM

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

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

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

35

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

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

36

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

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

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

38

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

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

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

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

39

PostgreSQL ✅ ✅ ✅ ✅

MySQL ✅ ✅ ✅ ✅

Redis ✅ ✅ ✅ ✅

MongoDB ✅ ✅ ✅ ➖

SQLite ✅ ✅ ✅ ➖

CouchDB ✅ ✅ ✅ ➖

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

github.com/vapor/fluent

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

41

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

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

Templating 🎨🎨 🎨🎨🎨 🎨🎨 🎨

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

42

Mustache ✅ ✅ ✅ ✅

Markdown ✅ ✅ ✅ ➖

Stencil ➖ ➖ ✅ ➖

Leaf ➖ ✅ ➖ ➖

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

43

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

;

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

0

3,25

6,5

9,75

13

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

44

Установка

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

0

3,75

7,5

11,25

15

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

45

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

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

0

2,25

4,5

6,75

9

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

46

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

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

47

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

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

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

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

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

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

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

👍 Best practices

🏃 Выводы

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

Сравнение 49

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

50

Бенчмарки

🔎

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

Бенчмарки 51

1. JSON

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

3. SQL Fetching

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

JSON 52

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

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

JSON 53

0

3500

7000

10500

14000

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

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

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

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

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

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

0

17,5

35

52,5

70

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

SQL Fetching 56

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

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

SQL Fetching 57

0

100

200

300

400

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

Summary 58

0

2,25

4,5

6,75

9

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

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

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

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

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

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

👍 Best practices

🏃 Выводы

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

👍 Best practices

REST API

SOA

Deploy

60

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

Rest API 61

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

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

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

/v1/answers

getAnswers

👍

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

Rest API 63

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

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

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

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

HEADER: HTTP/1.x 200 OK

BODY:

ERROR_E

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

65

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

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

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

Rest API 66

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

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

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

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

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

CREATE ⬇ POST

READ ⬇ GET

UPDATE ⬇ PUT

DELETE ⬇ DELETE

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

68

SOA

🎛

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

69

Containers

📦

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

70

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

71

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

Service Discovery 72

Zookeeper

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

DevOps 73

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

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

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

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

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

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

👍 Best practices

🏃 Выводы

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

🏃 Выводы 75

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

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

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

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

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

76

@smejl