Does anyone have any thoughts on `open-toast/proto...
# multiplatform
r
Does anyone have any thoughts on
open-toast/protokt
vs
square/wire
vs
streem/pbandk
for protobuf support in a pure kotlin project?
So far,
square/wire
seems by far the best documented and maintained, but insists on snake_case field names which is driving me bonkers. My codebase is cross-language -- and everywhere else (iOS, Server) is using camelCase field names, so snake case only in Kotlin feels extremely awkward. Perhaps it's possible to do some post-processing on the generated code to rename the fields? Sigh
j
It does not insist on snake case. It merely honors the casing present in the proto.
👍 1
If it bothers you, consider realizing the absence of case mapping is an asset https://publicobject.com/2016/01/20/strict-naming-conventions-are-a-liability/
r
The issue, for my brain, is that every other usage of these fields in the codebase is case mapped in various incompatible ways anyway, so it's not possible to achieve universal naming. e.g. Golang to UpperCamelCase for struct fields, lowerCamelCase for json fields. I do remember attempting camel cased field names in protos in the distant past, but ran into some issues with it on the swift side iirc