gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Etoile-discuss] Talks about HTTP server (Was: Re: Function move req


From: Steve Wart
Subject: Re: [Etoile-discuss] Talks about HTTP server (Was: Re: Function move request.)
Date: Thu, 16 May 2013 17:39:58 -0700

Older web frameworks are based on a different model of HTML generation than you see in modern web applications, which make heavy use of XMLHttpRequest and _javascript_ on the client to dynamically construct the DOM, rather than generating it on the server.

I've been playing a bit with Node.js and Nginx lately and I have to say I really like the philosophy behind these systems. A single-threaded model has its limitations however, and Objective-C has a few features that could really shine for a modern Node-like application server using asynchronous blocks and libdispatch.

Serving up HTML from a web app doesn't interest me in particular, but I am interested in what you are doing. The WebSockets spec has been finalized and it is well-supported on modern web browsers and mobile devices. I had a look at porting SocketRocket (https://github.com/square/SocketRocket) to  GNUStep and/or Etoile, but I didn't want to deal with porting all the CF dependencies, so I decided to use Node.js instead.

If anyone is interested in these sorts of features, I would be happy to help work on them. A full HTTP server is a very complex piece of software, but the SocketRocket code base is small. I think an Objective-C application server sitting behind an Nginx proxy would be ideal for many projects, and the scope is much smaller than supporting the full HTTP specification.

Steve


On Thu, May 16, 2013 at 4:28 PM, Chan Maxthon <address@hidden> wrote:
Well that thing never compiled for me, using trunk libobjc2 and trunk llvm/clang on my server, let alone I have portability in mind (Written under OS X, it is required to build on Linux as well, using trunk libobjc2, trunk llvm/clang and full Objective-C ARC.). And the reason I spawned this project is not only make a server, but also make using it easier. WebUIKit mimics iOS UIKit in behavior, very closely. (hence the namesake) To the extent that I will even create a way to write pages with embedded WebUIKit objects just like xibs.

发自我的 iPad

在 2013-5-17,6:25,Lars Sonchocky-Helldorf <address@hidden> 写道:

>
> Am 16.05.2013 um 21:50 schrieb Maxthon Chan:
>
>> Well it turned out that my darned project is forced into using CoreFoundation (I need CFRunLoop to manage some BSD sockets' lifetime, as it is a portable HTTP server written in Objective-C.)
>>
>> If I recalled right, the first HTTP stack is written in Objective-C, on a NeXT box.
>>
>> I have some web development experienced with ASP.net (as my current website homepage is written in C# hosted on a Linux server using Mono) while the web development suite for Objective-C, an equally powerful language as C#, is pretty much dead.
>>
>> I analysed and discovered that in order to get the most out of ASP.net, Microsoft written their IIS in .net (version 7 up, I have a copy of Windows Server 2012 as a secondary OS on my MacBook Pro and the IIS 8 shipped with it is pretty much all .net).
>>
>> This lead me to think: can I write an equally powerful HTTP server in an equally powerful language, Objective-C, given its significance in the history of World Wide Web.
>>
>> And since the Objective-C language have improved vastly over decades, can I implement something similar to ASP.net, hosted on this server which is itself written in Objective-C?
>
> Have you ever heard of WebObjects? WebObjects was started by NeXT in 1995 and is an object oriented web framework originally written in ObjC (up to version 4.5) but nowadays in Java (up to version 5.4.3) While still in use at Apple internally (for the iTunes Store for instance) the last public release was in 2008 and it has been deprecated by Apple. Never the less it is still one of the most advanced web frameworks out there. Nowadays it is still in use in several companies (like the one I work for) and has been extended by a community driven effort (Project WOnder).
>
> And now the best part: There is an free software clone of WebObjects 4.5 available. It is called GNUstepWeb. Get it here:
>
> http://wiki.gnustep.org/index.php/GNUstepWeb
> http://svn.gna.org/svn/gnustep/libs/gsweb/trunk/
>
> The documentation is still available at Apple:
>
> http://developer.apple.com/legacy/library/#documentation/LegacyTechnologies/WebObjects/WebObjects_4.5/webobjects.html#//apple_ref/doc/uid/TP40006775
>
> cheers,
>
>    Lars

_______________________________________________
Etoile-discuss mailing list
address@hidden
https://mail.gna.org/listinfo/etoile-discuss


reply via email to

[Prev in Thread] Current Thread [Next in Thread]