32. HTTP APIs
HTTP APIs
REST data service
JSON-RPC
Drivers
data provider
ExtJS / Sencha proxy
33. Summary
NoSQL DataStore
Used from any platform
SSJS Back-end
Using other technologies (via command line, XHR, or sockets)
Accessing external databases
Modules support
Studio & Framework
Add-ons
External widgets integration
Web Component
39. Wakanda on gitHub
Already
• Framework
Upcoming
• Project Templates
• Modules Services
• Web Components
• Add-ons
• Server
• Studio
http://github.com/wakanda/WAF
40. Thank you
• Christoph Dorn for PINF
@cdorn - https://github.com/pinf/loader-js/tree/master/lib/pinf-loader-js/adapter
IN PROGRESS
• Revolunet for the ExtJS support
@revolunet - https://github.com/revolunet/sencha-wakanda
41. Benefits of
an Open Environment
with Wakanda
http://github.com/wakanda
@amorgaut
@wakandasoft
Notes de l'éditeur
\nPurpose of this presentation = \nsee how you can use your existing back end, ajax frameworks and technical knowledge with Wakanda\n
I work for 4D as an expert in Web Technologies\n\nI’m implicated in Wakanda since the beginning\n\n\n
\n
Very Open license: “Do what the fuck you want!”\n\nFree of use!\nNo Dependency. If something goes wrong I can fix it myself!\n\nExotic restriction in Open License: “Must not be used for Evil!”\n
For each own needs!\n\n
with other technologies!\n
Run anywhere!\n
When it’s possible, don’t redo what’s already available!\n\nModules!\n\nEasier to share and have contributions!\n
So each one can help each other!\n
Unified stack - End to end JavaScript \n-> for development and deployment of Business WebApps\n\nPhilosophy of Wakanda = development focused on business logic\n\nFirst for your knowledge, you should know that the Studio and the Framework are not mandatory\n\nOur studio goes with the motto of Wakanda being \n
\nShow you how far we can go, about openness, \n\neven if we’re still under Developer Preview 2\n\n
\nShow you how far we can go, about openness, \n\neven if we’re still under Developer Preview 2\n\n
\nShow you how far we can go, about openness, \n\neven if we’re still under Developer Preview 2\n\n
\nShow you how far we can go, about openness, \n\neven if we’re still under Developer Preview 2\n\n
Here are the main aspects of a platform from which we can define its openness, \n\nand that’s gonna be my topic\n
\n
Even if all Wakanda’s sources aren’t yet available, \n\nYou probably guessed that Wakanda is composed of many popular Open Source Librairies \n\nlike cURL, Webkit, Raphael...\n
\nFAQ\n- MongoDB is dual AGPL / Commercial (with Apache licensed connectors)\n- Cloud9 and Aptana are GPL v3, MySQL is GPL v2\n- ExtJS is dual GPL / Commercial\n
> All Wakanda will be available via Open Source License\n\nAnd some compliant components will have even lighter licenses like MIT\n\nFor those not ready to publish their own code, the server will also be proposed with a commercial license\n
> All Wakanda will be available via Open Source License\n\nAnd some compliant components will have even lighter licenses like MIT\n\nFor those not ready to publish their own code, the server will also be proposed with a commercial license\n
\n
\n
- Wakanda Studio is basically a set of web apps embedded in a desktop.\n\nTaking into account your HTML5 & JS skills you could contribute to both improving and fixing such components of the Studio.\n\n
- The Add-ons architecture allows anyone to 1. integrate your own web apps in the Studio and 2. Add features to the code editor as well as the solution manager via pure JS.\n\n
- Our debugger protocol is based on CrossFire standard, compatible with Firebug allowing to:\n1. debug JS running in any environment (server, browser, mobile browsers) from our Studio \n2. debug Wakanda SSJS from any crossfire client (as FireBug)\n\nWakanda is intended to also support the V8 debugging protocol for even more interoperability (protocol used by Cloud9 & Node.js)\n\nNote that we choose to support at first CrossFire because it was better answering Wakanda needs. (it’s multi-contexts)\n
- Again, here we have a web app, so anyone could replace by its own web administration or adapt it to its need\n\n- It’s easily installed in hosting environments\n\n-Being a web app it could be entirely be done via HTTP requests with tools as cURL. the administration is entirely scriptable in any language\n\n
\n
\n
Wakanda isn’t the only application server coming with integrated HTTP server and / or database engine.\n\nAs CouchDB, Node.js or even MongoDB\n\nEach solution choose the database / SSJS / HTTP server that better serve its final motto. \n\n
The object SSJS API of the datastore is not provided by an additional ORM component\n\nIt is its native API\n\nMost SQL Schema optimization are killed by the applications layers \nDirectly optimize your Model and the performances will be there\n
Take advantage of your front-end existing JS skills to write SSJS\n\nRun existing libraries on the server \n\nWrite code usable in both environment, server & client\n\n
SSJS is a growing market. \nIt already generated bunch of great modules that we both would like to participate in and take advantage of. Example you today have more than 3,600 packages on Node.js. \n\nThis is why with Wakanda, you will have the possibility to : \n- use modules from CommonJS and / or Node.js in Wakanda apps\n- share modules SSJS in between different Wakanda apps\n- re-use modules written for Wakanda in other SSJS platforms\n\nStill with the openness in mind, in Wakanda, we decided to define a common way to provide services as CommonJS modules \n[idea - propose it to CommonJS]\n\n
\n
\n- Studio & framework structure favors integration of other widgets to:\n1. address needs not covered by widgets already available\n2. integrate enterprise widgets\n3. integrate widgets coming from framework you already master\n\nEx. here on this screenshot you can see an ExtJS datagrid integrated in Wakanda GUI Designer. Revolunet did this because they needed this useful widget and they wanted to use it in Wakanda.\n\n\n
\nWakanda Studio + Framework enables to define web components which are complexes interfaces. They can be composed of one or many widgets and can expose properties and methods. \n\nThe goal is that those web components can :\n- be re-used in several interfaces of a same app\n- be shared among several apps in the same enterprise\n- be provided to the community to be both shared and improved\n\nBy the way, web components themselves could be a market and be sold to those who need them\n\n\n\n
Wakanda Server is the heart of development “revolution” brought by our platform.\n\nWakanda Server can be used by\n- what ever back-end, as its or of its datastore\n- plug-ins such as Flex, Flash, Silverlight\n- any Ajax Framework\n\nExample de code proxy ExtJS\n\nRevolunet, again :), developed a proxy to use, in a more productive and efficient way, Wakanda data classes from ExtJS.\nWe are confident to see many other proxies (or drivers) enriching Wakanda interoperability with the other platforms.\n\n
1. we build Wakanda with the philosophy of a unified solution end to end JS to enhance the productivity, maintainability, and security of your applications and better your Business development experience.\n\n2. from the beginning we knew interoperability was a no brainer.\n\nWhen it comes to business web apps you have to deal with existing systems, IT infrastructure in place, ect. It’s not solely on the promise of a better tool that people come to your product, it because it fits where it’s needed. This is why Wakanda is based on widely and recognized web standards. You can use what you need from Wakanda, you can customize it, you can add what you miss and more importantly you can share it!\n
Wakanda is powerful because it 1st allows to design and run your app in an uniform way with an End to end JS stack\n\nBut Wakanda is also powerful because of its interoperability\n\n\n