Подтвердить что ты не робот

Сберегать как публичную замену API для REST?

Я начал создавать API для нового сайта, над которым я работаю.

Я изначально хотел сделать его обычным REST API, но я продолжаю думать о том, насколько крутой бережностью будет возможность скомпилировать несколько клиентских библиотек в одной партии.

Является ли Thrift жизнеспособным вариантом для общедоступного API, сокетов и всех, или я должен придерживаться REST?

И если REST будет лучшим подходом для создания нескольких клиентских библиотек, или мне просто нужно будет спуститься и загрязниться и написать их?

Else if Thrift, я бы скомпилировал библиотеки и просто предложил ссылки для загрузки или просто дал разработчикам файл .thrift для создания собственной библиотеки?

Примечание. Это все еще небольшой сайт, поэтому я бы создал файл спецификации Thrift для API.

4b9b3361

Ответ 1

Во-первых, REST и Thrift - яблоки для апельсинов - прежний - это общий стиль, последняя конкретная бинарная RPC-система.

Но для публичных интерфейсов я считаю, что REST с использованием стандартных текстовых форматов (как правило, JSON или XML) имеет больше смысла; поскольку легче получить доступ с любого языка или платформы; и хотя на многих платформах есть клиенты Thrift, это еще большая работа. Он также создает особый стиль доступа для клиентов, в значительной степени необходимо использовать определенную клиентскую библиотеку Thrift.

Итак, вопрос скорее будет в том, что именно вы пытаетесь получить? Что именно вы считаете "крутым" там? Если вы просто хотите играть с новыми технологиями, с этим ничего не получится, но сначала вы должны начать с ним играть, а затем посмотреть, имеет ли смысл.

Ответ 2

Если ваш API достаточно прост, чтобы вы могли выразить его с помощью REST и с приемлемой производительностью, лучше было бы использовать REST, так как обычно существует более низкий барьер для написания клиентского кода для API на основе REST.

Если, с другой стороны, у REST есть сложности или проблемы с производительностью, пойдите с бережливостью или чем-то еще более подходящим.

Ответ 3

Вы будете в одной лодке, если будете разрабатывать разные библиотеки самостоятельно. Я думаю, что REST будет проще для людей использовать даже без библиотеки (или если они реализуют свои собственные). С другой стороны, если то, что вам нравится в Thrift, заключается в том, что оно двоично, json можно использовать аналогичным образом, проверьте здесь дополнительную информацию http://bsonspec.org/

Ответ 4

Одним из больших преимуществ REST является то, что вам не нужно создавать клиентские библиотеки. Вы можете просто указать разработчикам свой список конечных точек, и они должны уметь это выяснить. Некоторые крупные плохо спроектированные службы REST предоставят библиотекам клиентов, чтобы замаскировать их уродство, но если API прост и хорошо разработан, это не обязательно.