Hi,

I am curious as to why the Objective-C implementation was removed, since
Objective-C is not a deprecated language. The documentation says to use
Swift. However, Swift is not fully backwards compatible with Objective-C.
Also, bringing in Swift to Objective-C means bringing in the entire Swift
runtime, which is not always desired.

I noticed the Objective-C implementation of Thrift was upgraded to modern
syntax which significantly improves the usage in Swift. This system works
well for both Objective-C and Swift clients.

We still use Thrift with Swift and Objective-C code bases and don't have
plans on porting Objective-C to Swift. However we do need to upgrade our
Python usage of Thrift, which is why we're looking at upgrading our Thrift
usage across multiple languages (C# and C++).

Are there major issues with the Objective-C implementation? I'd be open to
helping keep it alive. A few things I'd like to see improved:
- Use native number types instead of NSNumber. In 0.9 this worked, but
regressed in later versions.
- Correct nullability usage. Some methods are declared non-null but can
return nil, which prevents proper error handling in Swift and can lead to
segfaults
- Improve type safety by replacing some "id" instances with "instancetype"

Thanks,
Kevin

Reply via email to