[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GNUstep, Google Summer of Code, and an idea
From: |
Robert Slover |
Subject: |
Re: GNUstep, Google Summer of Code, and an idea |
Date: |
Mon, 04 Apr 2011 20:43:25 -0400 |
The guys doing the Objective-J/Cappucino/280-North stuff just seem to have
disappeared. No activity on any of those web sites in over a year. These
tools were starting to look really great, too.
Did anyone see the 'Atlas' Web-GUI Builder Demo?: http://280atlas.com/what.php
A web-based 'back' implementation this smooth for GNUStep would be an awesome
tool.
--Robert
On Apr 4, 2011, at 6:42 PM, David Chisnall wrote:
> Hi Lars,
>
> On 4 Apr 2011, at 22:46, Lars Sonchocky-Helldorf wrote:
>
>> today a co-worker of mine brought the Cappucino-Project to my attention.
>>
>> http://cappuccino.org/ is a JavaScript based Web-Framework which basically
>> implements the Cocoa-API using "Objective-J" which is a funky JavaScript
>> dialect modeled after Objective-C but implemented in JavaScript itself (it
>> sits on top so to say.
>
> I've seen Cappucino before, and in part it was the inspiration for this
> project. I don't really like their Objective-J language, so much though,
> because it is just different enough from Objective-C that the differences
> bite you.
>
> It produces some really beautiful output though, and we did consider using
> some of their code for web apps made with Étoilé (they actually use some
> GNUstep code - at least according to their documentation, I've not looked at
> their code much), but I'm too lazy to write view classes in two languages.
>
>> While I consider programming in "Objective-J" itself rather weird the
>> existence of such a framework only points out the importance of David's
>> idea. The world™ seems to be in need of viable web toolkits!
>
> Absolutely. There are only a few thousand. Definitely one more is needed!
>
>> And I like the GWT (Google Web Toolkit)-like approach of David of compiling
>> to JavaScript better than writing in "Objective-J" which would IMHO only
>> feasible for people already living in the JavaScript-Land. Those people – on
>> the other hand – know the Cocoa API very rarely.
>
> It would also be nice if we could use the same thing with our UIKit
> implementation (when it exists) - compile it for the web, and let people turn
> iPhone apps into web apps with a simple recompile.
>
>> So I consider this an important project for GNUstep even if we don't find a
>> student for this (which means we need to implement this ourselves).
>
> The code is in trunk/Languages/ObjC2JS in étoilé svn currently, for anyone
> who wants to play with it. In the test directory, you will find the
> JavaScript run-time support code (implements the C memory model and the
> Objective-C object model in terms of JavaScript), along with some .m files
> that contain tests (which all work, for me at least). There is also a
> jstest.html. This includes all of the run-time support scripts and
> jstest.js, then calls the main() function. To test one of the files, just
> compile it to jstest.m and open this html file with your browser (tested with
> FireFox 4 - should also work with Chrome and the WebKit nightly builds[1]).
> All of the bits of C that I have tested work, with three exceptions:
>
> - 64-bit integers don't work, and aren't high up my todo list (ObjC2JS uses
> an ILP32 model)
> - Casting integers to pointers does not work (although pointer arithmetic
> does, as does casting pointers to integers). This is basically impossible in
> JavaScript, so I have no plans to implement it.
> - Bitfields. These are horrible, but GNUstep uses them all over the place,
> so I'll probably get around to it soon.
>
> My next step is to implement some of the libc functions that we need (as
> wrappers around their JavaScript equivalents, or as stubs), and add some
> low-level classes like JSString, JSArray, JSDictionary as wrappers around
> JavaScript objects, so that we can use their abstract superclasses from
> GNUstep directly. I also want to add either an implementation of -back, or
> an implementation of CoreGraphics + some event handling using the canvas tag.
> We can probably implement CoreAnimation quite easily, since canvas elements
> themselves are effectively layers, and can be animated with a variety of
> techniques.
>
> There are also a few things I need to add in the compiler. Declared
> properties as lvalues in unary and binary operations is currently broken
> (e.g. a.b++; or a.b += 2, where a is an object and b is a property) and
> exceptions are not implemented (these are trivial to do, wrapping JavaScript
> exceptions).
>
> I probably won't bother with C++ support, because it is a horrible language,
> unless someone wants to pay me a lot of money for it.
>
> Anyway, my slightly rambling point is that I plan on spending some time
> working on this, and patches are always welcome...
>
> David
>
> [1] I use some JavaScript stuff to implement the C object model that are
> added for WebGL. It's possible to implement (slow) versions of these in pure
> JavaScript, which I'll probably do at some point if I need compatibility with
> other browsers.
> _______________________________________________
> Gnustep-dev mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/gnustep-dev
- Re: GNUstep, Google Summer of Code, and an idea, Lars Sonchocky-Helldorf, 2011/04/04
- Re: GNUstep, Google Summer of Code, and an idea, Gregory Casamento, 2011/04/04
- Re: GNUstep, Google Summer of Code, and an idea, David Chisnall, 2011/04/04
- Re: GNUstep, Google Summer of Code, and an idea,
Robert Slover <=