

frothkit - Objective-C Web Application Framework - eluos
http://code.google.com/p/frothkit/

======
yoda_sl
If I was to develop some web framework in Objective-C I will at least try to
mimic the WebObjects framework which has some great concept behind it. The
main grief against WebObjects that should be avoided is that the framework
layer to access the database aka EOF (Enterprise Objects Framework) was never
designed to use a connection pool nor work nicely in a multi-threaded
environment.

Sadly Apple stopped the development of that web solutions years ago and kept
it for itself... I heard from various folks at Apple that there are still a
few engineers improving it and it is being used a lot for iTunes. WebObjects
got some bad reputation from many people that have no clue on how it works and
citing that WebObjects can't even support database update and this why the
Apple Online Store is often offline when Apple release a new product. This is
total BS of course, since take the iTunes AppStore which serve the content for
all stores: music, apps, books, movies, etc... And you barely see that iTunes
Store is offline.

WebObjects was a great technology but Apple decided to keep it for itself.

~~~
macrael
What are some examples of things that WebObjects did right? Are there still
published docs for it?

~~~
yoda_sl
You can still find many documentation online, a quick search on Google show a
lot of results. There is a community of developer too with some docs/tutorial.
Here is an overview:
[http://wiki.wocommunity.org/display/documentation/Overview-W...](http://wiki.wocommunity.org/display/documentation/Overview-
What+is+WebObjects)

------
danpalmer
Looks like this hasn't been updated since 2010, and it's website doesn't load.
Also the underlying Cocoa port looks like it hasn't been updated since 2008.

I think we need a totally new Objective-C framework for web development based
on newer design patterns, GCD, etc, but it needs a new port of Foundation and
Cocoa to Linux and other systems.

As much as I'd love an Objective-C web framework, I wouldn't use one that only
ran on Mac OS, pretty useless in terms of production hosting I think.

~~~
yoda_sl
Agreed that if there was a modern WebObjects it should support GCD, and be at
least available on Linux too. WebObjects back in the days was running on 4
different platforms: OpenStep, Windows NT, Solaris and HP-UX. so clearly the
runtime was cross platform and it was relying only on the Foundation framework
at runtime. None of the Cocoa framework was needed to deploy such app.

Apple moved away from different binaries per platform by switching everything
to Java which solve the portability question, and additionally solved the
database connectivity issues since by bring a java solution any JDBC driver
available to talk to a DB will work with WebObjects.

Overall the move to java was a good move, but Apple stopped the investment in
the software that NeXT created and went back to focus on desktop and
devices... But they kept WebObjects internally for their own benefits I think.

~~~
mikeash
Wasn't Cocoa available for exactly those four platforms as well?

~~~
yoda_sl
No Cocoa was not available on those platform. OpenStep was running on NeXT OS,
and was available from NeXT on the Windows platform. NeXT and Sun worked on
getting OpenStep running on Solaris but Sun did drop the ball and switched
direction by going with Java. OpenStep was never available on HP-UX, only
WebObjects and PDO were truly cross platform before the switch to Java.
PDO=Portable Distributed Objects which was an alternative to Corba back when
Corba was such a big trends.

~~~
mikeash
Odd, Apple lists patches for OpenStep on both Solaris and HP-UX:
<http://support.apple.com/kb/TA45376?viewlocale=en_US>

~~~
yoda_sl
I think the Apple doc is slightly inaccurate: the OpenStep part which include
a graphic user interface was not available on HP-UX but the non graphic part:
WebObjects, Enterprise Objects Framework, and Portable Distributed Objects was
available. Looks like Wikipedia has avoid history of OpenStep:
<http://en.wikipedia.org/wiki/OpenStep>

~~~
mikeash
Searching around, I find quite a lot of pages that mention NeXT's
implementation of the OpenStep API for HP-UX, but none that mention that it's
only the non-GUI parts. Are you sure?

------
jrajav
Not entirely related (though I think someone actually is working on a web
framework for it): ObjFW [1][2] is an Objective-C framework and runtime that
provides Cocoa-like classes and methods, but with more open-sourceness and
portability. It even runs on Raspberry Pi!

[1]: <https://webkeks.org/objfw/>

[2]: <https://github.com/Midar/objfw> (Mirror)

~~~
nglevin
Recently added support for Haiku, too.

Midar doesn't slack around when it comes to portability. :)

------
scraplab
RoutingHTTPServer[1] is nice lightweight library on top of CocoaHTTPServer[2],
which behaves a little like Sinatra.

[1]: <https://github.com/mattstevens/RoutingHTTPServer>

[2]: <https://github.com/robbiehanson/CocoaHTTPServer>

------
ddfreyne
Seems to be inactive. It hasn’t been worked on since June 2010.

------
fyolnish
Since we're doing this: <http://webappkit.org>

~~~
Samuel_Michon
And of course Objective-J: [http://cappuccino.org/learn/tutorials/objective-j-
tutorial.p...](http://cappuccino.org/learn/tutorials/objective-j-tutorial.php)

------
rjzzleep
dunno man, congrats i guess? the web part of anything currently to me is
nothing but sophisticated text processing.

frothkit looks wrong, reminds me a bit of asp.net.

------
yarrel
I've never heard of WebObjects either.

~~~
tangue
You might be too young. Webobjects were all the rage amongst hipsters in the
second part of the 90s. I was eighteen and worried about that, fortunately
C-shell, ASP, Perl and PHP came to save us.

~~~
Irishsteve
You could use apple script instead of perl for CGI scripts

~~~
mistercow
You can, but it somehow manages to be even worse than ordinary apple script.

