Как стать автором
Обновить

Комментарии 12

Достаточно интересно с первого взгляда.
Наличие генератора для C#, возможно, позволило бы использовать некую общую базу (бизнес-логику) для разработки нативных приложений для всех мобильных платформ.
закономерный вопрос — чем оно лучше protobuf'ов или новомодного capnproto?
Пидеф — это не протокол сериализации, в отличие от Protobuf, Avro, Thrift, MessagePack и Cap'n Proto. Формат данных может быть любым. По-умолчанию, это JSON. Если говорить о функциональных отличиях, то он поддерживает циклические зависимости, наследование и интерфейсы (как и Cap'n Proto). Плюс, пидеф использует HTTP, тогда как все остальные — собственные бинарные форматы передачи данных.
Угу, я понял, упустил момент с сериализацией. Спасибо.
Это просто пидеф какой-то! Интересная получилась разработка, какие планы на будущее?
Хотелось бы чтобы сообщество разработчиков помогло с кодогенераторами для других языков. Точно не хватает PHP, JavaScript, Ruby, C++, C# и многих других языков. Если говорить про развитие самого языка, то на несколько месяцев думаю заморозить функциональность. Это поможет стабилизировать проект. В дальнейшем хотелось бы добавить аннотации и полноценную поддержку REST. Это два приоритетных направления. Плюс, возможно, появится официальный бинарный формат для серверного взаимодействия (скорее всего MessagePack).
Вы не думали использовать JSON-RPC в качестве реализации HTTP-RPC протокола? Добавит формализованности, уже есть готовая схема и библиотеки для работы с ним.
Думал, я много вариантов рассматривал, но не получится. Пидеф функционально намного мощнее. Он поддерживает нормальные цепочки вызовов, а JSON-RPC только название метода и его аргументы. Например, в пидефе возможен такой вызов:
github().user("ivan-korobkov").repo("pdef").like();

Он уйдет вот таким запросом на сервер:
POST /user/ivan.korobkov/repo/pdef/like HTTP/1.1

Т.е. изначально пидеф намного ближе к обычному REST'у, только пока ограничений больше.
С чего бы это не REST-то? Запостил единичку в ресурс like.
REST — это архитектурный стиль проектирования API, а не чёткий стандарт. Передавать действия HTTP-глаголами, частью URL или смесью — дело разработчика конкретной реализации. Да и вообще можно HTTP не использовать.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории