Tales of an open source library

38
Tales Of An Open Source Library

Transcript of Tales of an open source library

Page 1: Tales of an open source library

Tales Of An Open Source Library

Page 2: Tales of an open source library

Adam KleinCTO @ 500Tech

Page 3: Tales of an open source library

MAKE A POINT

https://angular2-tree.readme.io/

Page 4: Tales of an open source library
Page 5: Tales of an open source library
Page 6: Tales of an open source library

MVPCustomizable & Extendible

Page 7: Tales of an open source library

MVPCustomizable & Extendible

Listenable

Page 8: Tales of an open source library

MVPCustomizable & Extendible

Listenable

API

Page 9: Tales of an open source library

MVPCustomizable & Extendible

Listenable

API

Killer Feature - Keyboard Navigation

Page 10: Tales of an open source library

A year later…

222 stars

87 forks

187 github issues

80 support tickets

29 pull requests

Page 11: Tales of an open source library

Version 3.2.3Async Data

Drag & Drop

Filter

Virtual Scroll

Integration tests

And more…

Page 12: Tales of an open source library

TIPS FOR THE OPEN SOURCERER

Page 13: Tales of an open source library

LIBRARY

Page 14: Tales of an open source library

SystemJS

Webpack

UMDTree Shaking

AoT Typescript

Page 15: Tales of an open source library

http://blog.mgechev.com/2016/06/26/tree-shaking-angular2-production-build-rollup-javascript/

Read This

Page 16: Tales of an open source library

import { TreeModule } from ‘angular-tree-component’

Page 17: Tales of an open source library

Typescript• components\

• tree.component.ts • tree-node.component.ts

• models\ • tree.model.ts

• components\ • tree.component.js • tree-node.component.js

• models\ • tree.model.js

Page 18: Tales of an open source library

Typescript• components\

• tree.component.ts • tree-node.component.ts

• models\ • tree.model.ts

• components\ • tree.component.js • tree.component.d.ts • tree-node.component.js • tree-node.component.d.ts

• models\ • tree.model.js • tree.model.d.ts

Page 19: Tales of an open source library

Webpack• components\

• tree.component.ts • tree-node.component.ts

• models\ • tree.model.ts

• components\ • tree.component.js • tree.component.d.ts • tree-node.component.js • tree-node.component.d.ts

• models\ • tree.model.js • tree.model.d.ts

Page 20: Tales of an open source library

SystemJS

Page 21: Tales of an open source library

SystemJSrollup

Page 22: Tales of an open source library

SystemJSrollup

bundle vendors

Page 23: Tales of an open source library

SystemJSrollup

bundle vendors

tree shaking

Page 24: Tales of an open source library

SystemJSrollup

bundle vendors

tree shaking

UMD

Page 25: Tales of an open source library

SystemJS• components\

• tree.component.js • tree.component.d.ts • tree-node.component.js • tree-node.component.d.ts

• models\ • tree.model.js • tree.model.d.ts

• angular-tree-component.umd.js

Page 26: Tales of an open source library

AoTngc

metadata.json

Page 27: Tales of an open source library
Page 28: Tales of an open source library

VersioningSemVer

Page 29: Tales of an open source library

MAKE A POINT

Page 30: Tales of an open source library

VersioningSemVer

Backwards Compatibility & Deprecation

Page 31: Tales of an open source library

VersioningSemVer

Backwards Compatibility & Deprecation

Doc versions

Page 32: Tales of an open source library

readme.io

Page 33: Tales of an open source library

VersioningSemVer

Backwards Compatibility & Deprecation

Doc versions

Changelog

Page 34: Tales of an open source library

OH THE ISSUES….

Page 35: Tales of an open source library

SOME KIND WORDS

Page 36: Tales of an open source library

“I saw your project named angular2-tree-component and got happy. I guess you are the first one who

developed a tree-view component with latest angular2 version. Congratulations!”

“Hi Adam, Thanks for the awesome tree menu. It's great

and easy to use.“

“Hey, Nice work done on the tree component!”

Page 37: Tales of an open source library

CALL FOR CONTRIBUTORS

Page 38: Tales of an open source library

slidehare.net/500tech

@adamklein500

Thank You