Is it possible/feasible to use ObjC (not necessary the Apple flavor) to develop server-side web applications? Is GNU ObjC toolchain at all usable? Please share your thoughts and experiences.
Upd. I'd like to hear more answers with concrete practical experience, like "i tried/use .... and it is great/sucks, because...". 300 bounty!
Upd2. The rationale behind my question is that I'm about to develop an iOS app with a large web-based backend and thought it would be nice to use the same toolchain/IDE for both parts. But, alas, the answers so far show that this is not going to be feasible. Thanks everybody for taking time.
If Swift succeeds, Objective-C will go away. It won't be deprecated, but it'll move to Florida to enjoy its golden years. It'll spend days running the legacy app with a million lines of code, and its nights sipping margaritas with the OAuth library everyone fears rewriting.
This end of support will take place in July 31, 2021. Customers currently using the legacy Objective-C SDK should transition to the Swift version of the SDK. The iOS Swift Workspace ONE SDK will be the only native language SDK offered for iOS going forward.
Objective-C is the primary programming language you use when writing software for OS X and iOS. It's a superset of the C programming language and provides object-oriented capabilities and a dynamic runtime.
C is general-purpose and one of the oldest yet commonly used languages in web development. It is the basis of other programming languages, such as C++ and JavaScript.
The answer that the market has pretty definitely settled on is that yes, it's possible, and no, it's not feasible to try to push such a thing on the market. Apple's WebObjects (what the Apple Online Store uses) used to be Objective-C and even they moved it to Java.
As for the GNU Objective-C toolchain, I wouldn't be hugely optimistic about its future, either. Since they moved to GPLv3, Apple has dumped them and built their own Objective-C compilers around LLVM, so those code paths are probably getting a little rusty on the GNU side. GNU "supports" everything under the sun, but the more something gets used the more its implementation gets vetted.
As for the "I've used" bit, yes, I used the Objective-C variant of WebObjects back in the day. It was pretty good for its time, but Objective-C's relatively low-level memory allocation needs and its non-C syntax made it a little awkward. And its strong typing was great for core development but burdensome for the "scripting" aspects of web development.
In the end if a language is Turing-complete you could theoretically do anything in one language you could do in another, but the lack of an ecosystem of libraries for parsers, scripting, database interactions, indexing, etc., means you'll be starting from a pretty deep valley compared to Java or a JVM-compatible language.
There is a javascript framework called Cappuccino that uses syntax very similar to Objective-C they call Objective-J. But as a long-time Cocoa developer, I prefer Sproutcore which doesn't copy Objective-C syntax, but it does borrow some ideas from Cocoa as it was created by former Apple engineers.
If you were thinking server-side development, I guess you could do it but it would probably take less effort to learn some popular server-side language than to get it all up and running with Objective-C
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With