ow2con'14 - nanoko, 2 years feedback, ubidreams
DESCRIPTION
For 2 year now, Ubidream's team was using Nanoko to develop every web and native applications we were mandated by our customers to develop. This presentation will provide you with feedback we have on building Component Oriented Application with Javascript. The pros of using Nanoko will lead you through the success of developing our own B2B catalog, Djinlinne, and the cons to develop Javascript client side application will provide you the roadmap of Nanoko for the coming year. Nanoko is a factory to develop and re-use code through your applications. Nanoko allows you to re-use your code and to use the same code for you website and native application. Based on Maven and OSGI principles to link components, Nanoko is a huge improvement for development times and costs. Without restraining your choices of libraries and frameworks, Nanoko allow you to develop a component once, like a login component, and re-use it though all you apps, web apps and hybrid apps. With Wisdom framework implementation on Server side, we are now able to handle all development through Maven linking dependencies on our already build components Server side and Client side.TRANSCRIPT
Nanoko, 2 years worth of feedbackNicolas Rempulski CTO - Ubidreams
Orange Labs - Issy les Moulineaux 6 / 11 / 2014
Once upon a time …
2
Nanoko Timeline
2012 2013 2014 2015
Ubidreams goes cross-platform
3
Multi canal nightmare
4
Develop once, deploy everywhere
5
Cross-platform strategy
Application core : Single Page Web App (HTML5 / Javascript / CSS3)
Packaging
Desktop : website
Mobile : mobile website / native application (Cordova a.k.a. Phonegap)
6
Nanoko Timeline
2012 2013 2014 2015
Nanoko active development
7
Development Runtime
Dependency management
Satellite technologies
Maven plugin : coffee-mill Javascript library : h-ubu
Assets optimisation
Code quality
Packaging
Project management
=>
Code reusability
Continuous integration
Dependency injectionPlatform
adaptationEnvironment adaptation
Library / Framework agnostic
8
Nanoko Timeline
2012 2013 2014 2015
Open source release OW2 project
9
Nanoko Timeline
2012 2013 2014 2015
1.2 release
10
Nanoko Timeline
2012 2013 2014 2015
OW2 con’2013 Innovation award
11
Nanoko Timeline
2012 2013 2014 2015
1.3 release
12
Feedback
13
Nanoko @ Ubidreams
2+ years of use by 6 devs on ~20 projects
Goals are met : code quality, project management, productivity, …
Improvements : as needed internally, push upstream to open-source project later
14
Going open-source
Identification : Positionning yourself in the Web Tech sphere is hard
Visibility : AngularJs, ReactJs, NodeJs, Grunt, Yeoman, Bower, …
Investment : Managing the product & the community is heavily time consuming
15
Dependency management
Web libraries fast release pace leads to « loose » version control (@Bower)
Libraries & framework didn't deploy on Nexus repositories (until WebJars)
Frameworks often offers « boilerplate » instead of autonomous releases
16
Dependency injection
H-ubu : Implementation of « OSGI-like » service injection specification
Collision with module pattern (requireJs, AMD / CommonJS modules, …)
Service pattern not widely used in Javascript territories
17
Build Process
DevOps for Web App by Javascript dev means Javascript tools (Grunt, npm, Yeoman, …)
Maven not well established in front-end world (low-hype)
Web build process today use extensive declaration (ant-like) instead of conventions
18
Sequel
Nanoko’s future
Nanoko is used in Wisdom-Framework web assets build process
Importing client-side and server-side component in the same project
Satellite technologies integration (focusing on code quality & reuse)
Showcases with leader frameworks (AngularJs / Reactjs)
Contacts : [email protected]
Infos : http://www.nanoko.org
http://www.ubidreams.com http://www.wisdom-framework.org
The End