ow2con'14 - nanoko, 2 years feedback, ubidreams

21
Nanoko, 2 years worth of feedback Nicolas Rempulski CTO - Ubidreams Orange Labs - Issy les Moulineaux 6 / 11 / 2014

Upload: ow2-consortium

Post on 25-Jun-2015

224 views

Category:

Technology


0 download

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

Page 1: OW2con'14 - Nanoko, 2 years feedback, Ubidreams

Nanoko, 2 years worth of feedbackNicolas Rempulski CTO - Ubidreams

Orange Labs - Issy les Moulineaux 6 / 11 / 2014

Page 2: OW2con'14 - Nanoko, 2 years feedback, Ubidreams

Once upon a time …

2

Page 3: OW2con'14 - Nanoko, 2 years feedback, Ubidreams

Nanoko Timeline

2012 2013 2014 2015

Ubidreams goes cross-platform

3

Page 4: OW2con'14 - Nanoko, 2 years feedback, Ubidreams

Multi canal nightmare

4

Page 5: OW2con'14 - Nanoko, 2 years feedback, Ubidreams

Develop once, deploy everywhere

5

Page 6: OW2con'14 - Nanoko, 2 years feedback, Ubidreams

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

Page 7: OW2con'14 - Nanoko, 2 years feedback, Ubidreams

Nanoko Timeline

2012 2013 2014 2015

Nanoko active development

7

Page 8: OW2con'14 - Nanoko, 2 years feedback, Ubidreams

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

Page 9: OW2con'14 - Nanoko, 2 years feedback, Ubidreams

Nanoko Timeline

2012 2013 2014 2015

Open source release OW2 project

9

Page 10: OW2con'14 - Nanoko, 2 years feedback, Ubidreams

Nanoko Timeline

2012 2013 2014 2015

1.2 release

10

Page 11: OW2con'14 - Nanoko, 2 years feedback, Ubidreams

Nanoko Timeline

2012 2013 2014 2015

OW2 con’2013 Innovation award

11

Page 12: OW2con'14 - Nanoko, 2 years feedback, Ubidreams

Nanoko Timeline

2012 2013 2014 2015

1.3 release

12

Page 13: OW2con'14 - Nanoko, 2 years feedback, Ubidreams

Feedback

13

Page 14: OW2con'14 - Nanoko, 2 years feedback, Ubidreams

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

Page 15: OW2con'14 - Nanoko, 2 years feedback, Ubidreams

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

Page 16: OW2con'14 - Nanoko, 2 years feedback, Ubidreams

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

Page 17: OW2con'14 - Nanoko, 2 years feedback, Ubidreams

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

Page 18: OW2con'14 - Nanoko, 2 years feedback, Ubidreams

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

Page 19: OW2con'14 - Nanoko, 2 years feedback, Ubidreams

Sequel

Page 20: OW2con'14 - Nanoko, 2 years feedback, Ubidreams

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)

Page 21: OW2con'14 - Nanoko, 2 years feedback, Ubidreams

Contacts : [email protected]

Infos : http://www.nanoko.org

http://www.ubidreams.com http://www.wisdom-framework.org

The End