不,我不知道是否有计划支持属性,但如果 GNUstep 计划保持可行(即使只是在现在的有限程度上),这应该是一个优先事项。除非 GNUstep 决定采用 Objective-C 2.0 特性,否则它与 Apple 实现之间的差距将使编写好的跨平台代码变得越来越困难。(对于大多数开发人员来说,这已经毫无意义了。)
尽管我通常讨厌基本上说“不要那样做,这是个坏主意”的答案,但我必须同意@Jonathan 在这一点上的看法,尤其是从实用性的角度来看。尽管代码可以跨平台编译,但如果用户必须安装运行时才能使用您的应用程序,那么有人使用您的应用程序的可能性就会大大降低。
这个 SO 答案很好地总结了它。我建议阅读它并得出自己的结论。
同样值得考虑的是,“ objective-c”标签有超过 3280 个问题,而“gnustep”有 9 个问题。我并不是说问题量是质量的衡量标准,但它与活动和兴趣平行,而且相当在这个站点上可能只有少数具有 GNUstep 专业知识的人。因此,如果你选择走你正在考虑的道路,你就不太可能得到好的帮助。
顺便说一句,以兼容性的名义避免新功能的心态是一种“最小公分母”行为,从长远来看,这将使您的代码不那么优雅,也不那么“功能”。这类似于仅使用 10.2 或 10.3 上可用的 API 进行编码——任何最近的 OS X 或 iPhone 开发人员都会告诉您,他们宁愿利用这些很酷的新功能,而不受过去限制的阻碍。如今,新应用程序几乎总是需要 10.5 - 对旧版本的支持更多是已建立的向后兼容软件的特征,许多应用程序甚至随着时间的推移放弃旧操作系统。
如果您正在考虑销售应用程序,那么仅使用与 GNUstep 兼容的 API 将严重限制您的市场,甚至从根本上限制您的应用程序,包括您希望达到的抛光水平和功能。即使应用程序不会商业化,使用最适合给定平台的语言和框架通常也有好处。如果您真的在寻找跨平台支持,Java 可能会让您更接近并减少胃灼热。(Java 绝对不是我最喜欢的语言,也不是 Cocoa,但它做了很多事情。)虽然跨客户端和跨平台的语言版本仍然存在相同的问题,但至少它被设计为跨平台的,并且所有消费者平台具有可靠的 Java 支持。