Software is changing the world; QCon aims to empower software development by facilitating the spread of knowledge and innovation in the enterprise software development community; to achieve this, QCon is organized as a practitioner-driven conference designed for people influencing innovation in their teams: team leads, architects, project managers, engineering directors.
Sure, I’m very happy to be here, my name is Juergen and I’m the Wakanda Product Manager. I’ve joined Wakanda & 4D from a background of web development, I have been doing a lot of development, I’ve done a lot of Rails, Python and I have spent the past ten years doing web development and also did my own startup at a startup company and I use a lot of my technical knowledge went into a startup company.
Wakanda it’s a full stack development and deployment environment, an application server, which is the Wakanda server, and a studio like an IDE offering into one package. So the problem it solves is that it’s extremely easy to use, you wouldn’t have to setup dependencies like in other environments, you basically install a whole toolset and you are ready to work on your business application. So our offering is really geared towards business applications.
3. Would you like to give us a rough architectural overview of Wakanda and what technologies are being used to build it? I suppose most of those things are not available to developers to actually see and poke with?
4. You talked about the data model and how it’s all JSON based and dot-notation, how would something like that compare to things like MongoDB or other NoSQL repositories and their interfaces that they have for querying?
Dio: And I suppose you also have things like constrains and mechanisms to keep everything in order and consistent.
For referential integrity and so forth we have all that in place and as I said, there is also a security model in place because we baked the users and their roles into the model and you define them on the application level and you can share those roles and access rights with other solutions but basically security is really a big thing in those types of applications and so you can protect from a simple attribute on a data class to the entire model based on roles and users.
We’re not into generating a lot of code for you, we don’t have those generating stuff that Rails world uses but we are more into drag-and-drop environments so we have a widget set that you can decide to use and you basically create your view in that way, dragging and dropping components onto the view.
Yes, actually we are using an open-source code editor for the browser studio, in the browser we call it, and in the studio there is an editor, there is a code look up, look ahead to basically help developer to guide you through the functional prototypes and so forth, so take a full blown IDE with editor, with debugger, brake points, watches and all that stuff that are you used too, when you come from .NET world and again the salute is all integrated like the server.
In our studio for desktop we are not using ACE but we have looked into it for offering the browser base version.
11. […] We have GWT for lock time, CoffeeScript now Dart and other approaches, which way do you think is more appropriate, or which one of these approaches do you think has a better chance to be more mainstream in maybe a couple of years or even if you think that EcmaScript 6 will be enough?
Yes, Wakanda server is compatible with CommonJS libraries and we can just load them in.
On the server side it’s completely synchronous, so you would just write linear code that you can debug really well and when you use asynchronous, it becomes complicated very fast, it has also huge advantages in terms of speed but we have overcome that using multi-threaded.
No, on the backend on the Wakanda server we using threads so every request does not necessarily have to spawn a thread but they spawn threads so it’s thread-safe our framework, and we also have web workers to have a separate process.
You are right, so those are the pit-faults really. I mean that is sort of going back to the same answer that I gave to your previous question which is, we’re really trying to guide out developers using this model driven paradigm. We say like “Focus on the model and put as much of your code in that model, and this is how you avoid spaghetti code”, but we cannot prohibit that they would still add things that make it extremely hard to maintain that code, but we provide the environment to develop in an entity sort of model driven way and we provide a test environment so you can ensure your application runs properly.
Dio: Thank you very muck Juergen!
You are welcome!