Slide 1

Slide 1 text

ANGULAR2 STARTER 2O16/4/22 HTML5ͱ͔ษڧձ

Slide 2

Slide 2 text

ࣗݾ঺հ ▸ ໊લɿ٢ాపੜ ▸ ᷂τϨλ ։ൃ෦ ▸ Angular2ͰϓϩμΫτΛॻ͍ͯ·͢ ▸ AngularJS Japan User Group ▸ TW @teyosh FB teyosh

Slide 3

Slide 3 text

ςΩετ ANGULAR2࢖ͬͯ·͔͢ʁ ▸ React΍ͬͯΔ ▸ AngularJS 1.2Ͱফ໣͍ͯ͠Δ ▸ jQuery͓͍͍͠ ▸ TypeScript͕ഽʹ߹Θͳ͍ ▸ Ͳ͏͍͏;͏ʹ࢝ΊΕ͹͍͍͔Θ͔Βͳ͍

Slide 4

Slide 4 text

STARTER KIT

Slide 5

Slide 5 text

ςΩετ STARTER KITͱ͸ʁ ▸ ੲͷϓϩδΣΫτ͸ ▸ htmlϑΝΠϧ ▸ javascriptϑΝΠϧ ▸ cssϑΝΠϧ

Slide 6

Slide 6 text

ςΩετ STARTER KITͱ͸ʁ ▸ ݱࡏͷϓϩδΣΫτ͸ ▸ TS/ES2015 ▸ Less/Sass ▸ ύοέʔδಡΈࠐΈ (bower npm) ▸ Ϣχοτςετ ▸ e2eςετ ▸ ΢ΣϒϑΥϯτ ▸ Grunt/Gulp ▸ ґଘؔ܎

Slide 7

Slide 7 text

ςΩετ ղܾ͢ΔͨΊʹ ▸ Yeoman generator ▸ GithubͷϨϙδτϦ

Slide 8

Slide 8 text

ςΩετ YEOMAN ▸ Node JS πʔϧ ▸ npm install -g yo ▸ ର࿩ࣜ ▸ Ruby on RailsΛϦεϖΫτ ▸ generatorͱ͍͏ΤίγεςϜͰճ͍ͬͯΔ

Slide 9

Slide 9 text

ςΩετ YO

Slide 10

Slide 10 text

ςΩετ GENERATOR ▸ http://yeoman.io/generators/ ʹͯݕࡧՄೳ ▸ yo ͔Β΋ݕࡧՄೳ ▸ angular2Ͱݕࡧ͢Δͱ 19 ݅ώοτ ▸ ·ͩ·ͩɺߋ৽͸͋Δ ▸ ެ։΋package.jsonʹهೖ͚ͩͰ؆୯

Slide 11

Slide 11 text

ςΩετ ͪΐͬͱ࢖ͬͯΈ·͠ΐ͏

Slide 12

Slide 12 text

ςΩετ ANGULAR2-EGGS ▸ This generator are using Angular2, Angular Component Router, Bootstrap v4(alpha) and Express on Node.js. ▸ Instead of MongoDB, it will use the lighter TingoDB. ▸ Unit Test(unfinished) ▸ End-to-End Test ▸ Documentation(unfinished) ▸ Coverage(unfinished) ▸ Metric(unfinished)

Slide 13

Slide 13 text

ςΩετ GITHUB ▸ Gitόʔδϣϯ؅ཧγεςϜΛར༻ͨ͠΢ΣϒαʔϏε ▸ ΦʔϓϯιʔεͰ͋Ε͹ແྉͰར༻Մೳ ▸ ࠷ۙΑ͘མ͍ͪͯΔҹ৅

Slide 14

Slide 14 text

ςΩετ REPOSITORY ▸ Angular2 starterͰݕࡧ ▸ 308 repositories ▸ Angular2 seedͰݕࡧ ▸ 262 repositories ▸ forkͱ͔͕ଟ͍ͷͰ[Most starts]ͰsortΛ͔͚Δͱྑ͍Α

Slide 15

Slide 15 text

ςΩετ ਓؾϕετ5 [ANGULAR2 STARTER]

Slide 16

Slide 16 text

ςΩετ

Slide 17

Slide 17 text

ςΩετ ANGULARCLASS/ANGULAR2-WEBPACK-STARTER ▸ An Angular 2 Starter kit featuring Angular 2 (Router, Http, Forms, Services, Tests, E2E, Dev/Prod) ▸ Material Design ▸ Karma ▸ Protractor ▸ Jasmine ▸ Istanbul ▸ TypeScript ▸ TsLint ▸ Codelyzer ▸ Hot Module Replacement ▸ Typings ▸ Webpack

Slide 18

Slide 18 text

ςΩετ ROGERPADILLA/ANGULAR2-MINIMALIST-STARTER ▸ Production ready (commands: npm run start.prod, npm run build.prod) ▸ Single generated bundle file (system module) with source-maps ▸ Incremental Compilation for TypeScript files ▸ TypeScript (almost) everywhere ▸ Backend integration (rest API) ▸ Live-reload when the source-code changes ▸ Static analysis linter for TypeScript ▸ Karma setup ▸ Example tests ▸ Example Express setup (for backend; frontend is decoupled)

Slide 19

Slide 19 text

ςΩετ PREBOOT/ANGULAR2-WEBPACK ▸ Best practices in file and application organization for Angular 2. ▸ Ready to go build system using Webpack for working with TypeScript. ▸ Easily add new components using Angular 2 cli. ▸ Testing Angular 2 code with Jasmine and Karma. ▸ Coverage with Istanbul ▸ End-to-end Angular 2 code using Protractor. ▸ Stylesheets with SASS (not required, it supports regular css too). ▸ Error reported with TSLint. ▸ Documentation with TypeDoc.

Slide 20

Slide 20 text

ςΩετ ANTONYBUDIANTO/ANGULAR2-STARTER ▸ TypeScript for the base language ▸ with Typings for TypeScript definition manager ▸ Gulp for workflow (from serve, watch, compile, test to build) ▸ Bower for front-end package manager ▸ NPM for angular2 & dev-tooling package manager ▸ Live Server for development server & reload capability ▸ SystemJS for module loader ▸ Karma for test-runner ▸ Jasmine for test framework ▸ Istanbul for test coverage ▸ with Remap Istanbul for remapping Javascript to TypeScript coverage ▸ SystemJS Builder for module bundling in production

Slide 21

Slide 21 text

ςΩετ BLACKSONIC/ANGULAR2-ES6-STARTER ▸ Pure Javascript implementation. ▸ Uses Babel to support class/parameter decorators. ▸ Bundles files with Webpack. ▸ Automates tasks with Gulp. ▸ Automatically rebundles and refreshes the browser on changes. ▸ Unit testing with Karma and Jasmine. ▸ Code coverage for original ES6 code. ▸ E2E testing with Protractor. ▸ Includes deployment to Heroku. ▸ Linting with ESlint based on Airbnb's styleguide. ▸ Optional typing with Flow.

Slide 22

Slide 22 text

ςΩετ ਓؾϕετ5 [ANGULAR2 SEED]

Slide 23

Slide 23 text

ςΩετ

Slide 24

Slide 24 text

ςΩετ MGECHEV/ANGULAR2-SEED ▸ Allows you to painlessly update the seed tasks of your already existing project. ▸ Out of the box ServiceWorkers and AppCache support thanks to the integration with angular/ progressive. ▸ Ready to go, statically typed build system using gulp for working with TypeScript. ▸ Production and development builds. ▸ Sample unit tests with Jasmine and Karma including code coverage via istanbul. ▸ End-to-end tests with Protractor. ▸ Development server with Livereload. ▸ Following the best practices for your application's structure. ▸ Manager of your type definitions using typings. ▸ Has autoprefixer and css-lint support.

Slide 25

Slide 25 text

ςΩετ NATHANWALKER/ANGULAR2-SEED-ADVANCED ▸ An advanced Angular2 seed project with support for ngrx/ store, ng2-translate, angulartics2, lodash, NativeScript (*native* mobile), Electron (Mac, Windows and Linux desktop) and more coming soon...

Slide 26

Slide 26 text

ςΩετ

Slide 27

Slide 27 text

ςΩετ

Slide 28

Slide 28 text

ςΩετ ANGULAR/ANGULAR2-SEED ▸ A simple starter project demonstrating the basic concepts of Angular 2. ▸ This branch uses Webpack for Development. There is also a SystemJS branch available.

Slide 29

Slide 29 text

ςΩετ GHPABS/ANGULAR2-SEED-PROJECT ▸ Gulp fully automated workflow. ▸ Development and production environment targets. ▸ Unit and E2E test samples. ▸ Code coverage report with TypeScript mapping. ▸ TypeScript definition manager, linting, sourcemaps and transpilation (ES5). ▸ Sass linting, sourcemaps and transpilation. ▸ TypeDoc documentation generator. ▸ Change Log generated based on Git metadata.

Slide 30

Slide 30 text

ςΩετ X6DOOOO/GENERATOR-GULP-ANGULAR2 ▸ Yeoman generator for Angular2 + Gulp, base on angular2- seed and generator-gulp-angular

Slide 31

Slide 31 text

ςΩετ ͪΐͬͱ࢖ͬͯΈ·͠ΐ͏

Slide 32

Slide 32 text

ςΩετ STARTER KITͷԿ͕ྑ͍ͷ͔ʁ ▸ ؀ڥ͕͸͡Ί͔Βߏங͞Ε͍ͯΔ ▸ TypeScript ͷίϯύΠϧ΍Babelͷઃఆ ▸ Lintͷઃఆ ▸ Testαϯϓϧ͕ಉࠝ ▸ ࠓ࣌ͷ։ൃ؀ڥ͔Βखܰʹ։࢝Ͱ͖Δ ▸ ϕετϓϥΫςΟε΍ελΠϧΛಋೖͰ͖Δ

Slide 33

Slide 33 text

ςΩετ ϕετϓϥΫςΟεͱελΠϧΨΠυ ▸ https://mgechev.github.io/angular2-style-guide/ ▸ Directory Structure ▸ ໋໊نଇ ▸ TypeScriptίʔυελΠϧ ▸ TSLint΍JSHintͷઃఆ ▸ toolͷ঺հ

Slide 34

Slide 34 text

ςΩετ ANGULAR-CLI ▸ Prototype of a CLI for Angular 2 applications based on the ember-cli project. ▸ Generating a New Project ▸ Generating Components, Directives, Pipes and Services ▸ Generating a Route ▸ Creating a Build ▸ Running Unit Tests ▸ Running End-to-End Tests ▸ Deploying the App via GitHub Pages ▸ Support for offline applications ▸ Commands autocompletion ▸ CSS preprocessor integration ▸ 3rd Party Library Installation

Slide 35

Slide 35 text

ςΩετ Πϯετʔϧ͏·͍͖͘·ͤΜͰͨ͠(ɹʀ㱼ʀ)

Slide 36

Slide 36 text

ςΩετ ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ