ow2con'14 - nanoko, 2 years feedback, ubidreams

Post on 25-Jun-2015

229 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

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 : nrempulski@ubidreams.com

Infos : http://www.nanoko.org

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

The End

top related