gnustep-dev
[Top][All Lists]
Advanced

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

Re: Talks about HTTP server (Was: Re: Function move request.)


From: Chan Maxthon
Subject: Re: Talks about HTTP server (Was: Re: Function move request.)
Date: Fri, 17 May 2013 15:38:56 +0800

This have a clearly different aim. Despite starting this server is as simple as 
a call -[CGIServer start] but it is intended to be used as independent server.

发自我的 iPad

在 2013-5-17,13:52,Richard Frith-Macdonald <address@hidden> 写道:

> 
> On 16 May 2013, at 20:50, Maxthon Chan <address@hidden> wrote:
> 
>> 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?
>> 
>> I have some previous experience writing a HTTP server in both Objective-C 
>> and Visual Basic .net (sibling of C#, essentially the same language 
>> expressed in another flavor), but either (for Objective-C) a library I used 
>> or (for Visual Basic .net) a lack of progress in Mono's vbmc compiler 
>> prevented them from being ported.
>> 
>> Now I am starting over, implementing this server again, following more 
>> tightly as how Microsoft did to their IIS, but using direct access to 
>> Berkeley sockets and native features of either Apple's Foundation or 
>> GNUstep. And this server is designed to serve WebUIKit, my ASP.net clone in 
>> Objective-C best, just like what IIS did. (If you have ever ported an 
>> ASP.net from IIS to Apache/Mono stack you know the pains.)
>> 
>> What's more, the nature of Objective-C even allows me to wrap modules from 
>> other UNIX-based HTTP servers (like Apache's) into my design, without losing 
>> any compatibility. That is a bonus comparing to IIS (which did it over 
>> P/Invoke, which is in no way portable), seamless compatibility. (We all know 
>> how bundles work, and NDISWrapper is a good example in wrapping programs 
>> from one platform to another.)
>> 
>> However, this project is too big for my to finish myself. I hope any of you 
>> can come and help. This project license is yet to be decided (temporarily 
>> licensed under 2-clause BSD, subject to later change)
>> 
>> If you are interested, send me an issue on GitHub, 
>> https://github.com/xcvista/ohttpd2 or reply to this email, please. If you 
>> teams want it, I can sign the related documents.
> 
> You might be interested in WebServer ... written in Objective-C entirely 
> using gnustep-base (you can find it in the developer libraries in gnustep 
> svn).
> This is what I use, but it's aim is somewhat different ... it's supposed to 
> be a web server embedded into applications, primarily so that those 
> applications can handle incoming web service requests.



reply via email to

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