4 ms·
Have you considered making a version without the Apple's frameworks integrated, i.e. the core Obj-C runtime, so you can run on Linux (then you can scale more ef
by tszming 14y ago
Have you considered making a version without the Apple's frameworks integrated, i.e. the core Obj-C runtime, so you can run on Linux (then you can scale more efficiently on EC2 like Heroku).
I think there is a demand for people who need close to C performance without the need of messing with pointer explicitly and with sane OOP support as default. Your user base is large due to the number of existing iOS developers, and able to interop with C libraries is also an advantage.
- bitwize 14y agoI do this for a game library I'm writing. The problem is, if Python is a language with batteries included, then on non-Apple platforms Objective-C only comes in kit form -- with certain critical components you have to supply yourself. To wit: due to changes made in the Objective-C runtime made by Apple and backported to the GNU runtime (which, mirabile dictu, is now MUCH more API-compatible with Apple's stuff), the Object class is now only the barest skeleton of a thing, and no longer has +alloc, -init and -free methods in its own right. To get even constructors and destructors without the Cocoa framework, you will have to implement them yourself. Not that hard to do, actually; there are API calls for that. But the average developer is going to wonder what sort of bush league he's operating in where the language runtime doesn't even provide constructors and destructors. As a rule if you are going to use Objective-C, you are committed to Apple.
- comex 14y agoWell, sort of. GNUstep provides a free implementation of (enough of) Cocoa.
- nglevin 14y agoGNUstep-base is pretty solid if you're looking for an open source Foundation (constructors, destructors, container classes, networking, etc.) that's compatible with Apple's implementation. If all you're looking for is constructors and destructors, consider ObjFW. https://github.com/Midar/objfw/ https://github.com/Midar/objfw/ ObjFW is much more lightweight, although it does have its own set of conventions. Fortunately, +alloc, -init, +new and -dealloc are all present and accounted for.
- deleted 14y ago[deleted]
- mpweiher 14y agoWhile there is certainly some truth to what you say, why do you tie your assessment to the Object class? Object has been on its way out for well over a decade now, and all the alternative toolkits like GNUStep and Cocotron have good support for NSObject and friends.
- mpweiher 14y agoHaving ported significant code-bases to both Linux and Windows with both GNUStep and Cocotron, I'd say this is possible today, though how easy it is depends a bit on the scope and complexity of your codebase. What I like about Objective-Cloud (apart from the name!), is that it allows you to go to a hosted solution quickly, and then when there is a further scaling requirement you can decide wether doing a port is justified to lower costs. I also really like your succinct summation of Objective-C benefits: close to C performance [..] with sane OOP as default (not sure about the pointers...) I've blogged a bit about Objective-C web performance, for example compared to Ruby and Node.js here: http://blog.metaobject.com/2011/01/nodejs-performance-httpd-performance.html http://blog.metaobject.com/2011/01/nodejs-performance-httpd-... http://blog.metaobject.com/2011/12/ruby-and-rails-scalability.html http://blog.metaobject.com/2011/12/ruby-and-rails-scalabilit... http://blog.metaobject.com/2012/03/30k-requests-aka-wrk-is-fast.html http://blog.metaobject.com/2012/03/30k-requests-aka-wrk-is-f...