On Sun, 22 Jul 2012 17:58:20 -0400 Michel Fortin <michel.for...@michelf.ca> wrote: > > Marmalade, from what I see, is some sort of meta-platform you can use > to write something that works everywhere. It adds a new layer of > abstraction that can work on top of each platform. Good for them and > their developers, but I generally try to avoid unnecessary layers > like this. It often makes things harder to debug and fix, and will > always lag behind the functionalities each of platform has to offer. > > No, the idea is to make the D *language* work with each platform's > object model. Just like D can call and define C functions with zero > overhead, it should be capable of defining classes from other > languages too and overriding their functions with zero overhead. That > way you can talk directly with each platform's API with no middle man > playing a complicated translation/abstraction process in the middle. >
Yea, I agree that's worth having. Just thought it was worth mentioning. > > > Also, on the Android, you don't need to deal with the JVM (or > > whatever Google's version of it is called). Apparently that used to > > be the case, but now you can just use straight C++, even without > > third party tools like Marmalade. > > But all the interface widgets are still in Java, no? If you're > working on an OpenGL/ES game maybe you won,t need them, but if you're > building any other kind of app, you'll have to play with JNI a lot. > Or add Marmalade as an abstraction layer. Either way it's suboptimal > compared to using directly the APIs you need. > [...] > Try do that with Android's UI > classes written in Java. But maybe I misunderstood what you're > referring to. > I wouldn't know. I haven't actually dealt with the android SDK directly, only Marm. When I saw google saying you use either Java or straight natively-compiled C++, I guess I assumed that meant an actual C++ API. Personally I like abstraction layers for GUI: it means you don't have to deal with twenty different system-specific (and idiosyncratic) APIs. For example, I hope I never have to touch Win32 directly again.