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 > [email protected] > http://lists.gnu.org/mailman/listinfo/gnustep-dev _______________________________________________ Gnustep-dev mailing list [email protected] http://lists.gnu.org/mailman/listinfo/gnustep-dev
