39
Modern Web Application Development Workflow @Hmidi Hamdi 1

Modern web application devlopment workflow

Embed Size (px)

Citation preview

Page 1: Modern web application devlopment workflow

Modern Web Application Development Workflow

@Hmidi Hamdi

1

Page 2: Modern web application devlopment workflow

Hmidi HamdiWeb & Mobile DeveloperSoftware Engineering @ ISSATSoFounder & Member @ IGC JSA @ JCertif Tunisia

2

Page 3: Modern web application devlopment workflow

First, Let’s Look at the Past

How Web applications used to be done ?

3

Page 4: Modern web application devlopment workflow

Throw a branch of HTML filesAdd a couple of CSS files

Put Some Javascipt Scripts

And That’s All

4

Page 5: Modern web application devlopment workflow

Come Back 6 Monthes Later

And try to remeber how to mantain your code

5

Page 6: Modern web application devlopment workflow

6

Page 7: Modern web application devlopment workflow

Moving Forward

7

Page 8: Modern web application devlopment workflow

Chrome V8 Engine

OpenSource Engine for Google ChromeWritten in C/C++

Fastest Javascript Engine

8

Page 9: Modern web application devlopment workflow

Welcome to Node.Js World

Use the power of V8 Engine

9

Page 10: Modern web application devlopment workflow

Node Js is javascript RuntimeCreated by javascript developers

for javascript developers

Event DrivenNon Blocking(Asynchronous)

Use Npm to manage packages

10

Page 11: Modern web application devlopment workflow

So !!

Is it Really what we need

11

Page 12: Modern web application devlopment workflow

Full Web Stack

MEAN Stack(MongoDB-ExpressJs-AngularJS-NodeJS)

12

Page 13: Modern web application devlopment workflow

13

Page 14: Modern web application devlopment workflow

A Good Devlopement workflow

Helps you to get started Mantains you dependencies

Enforce Best practicesPrepares your tools

Ease the realise process14

Page 15: Modern web application devlopment workflow

HOW TO GET STARTED

15

Page 16: Modern web application devlopment workflow

16

Page 17: Modern web application devlopment workflow

YEOMAN Scaffolding

StructureCompilation

Dependencies managmentUnit testing

Various generators (AngularJs, EmberJS, ReactJs, Backbone...) 17

Page 18: Modern web application devlopment workflow

Enjoy The View, YEOMAN take care of everything

18

Page 19: Modern web application devlopment workflow

Preprocesseurs Package Managers

Task Runners

19

Page 20: Modern web application devlopment workflow

20

Page 21: Modern web application devlopment workflow

21

Page 22: Modern web application devlopment workflow

22

Page 23: Modern web application devlopment workflow

23

Page 24: Modern web application devlopment workflow

Git & Github

24

Page 25: Modern web application devlopment workflow

25

Page 26: Modern web application devlopment workflow

26

Page 27: Modern web application devlopment workflow

27

Page 28: Modern web application devlopment workflow

28

Page 29: Modern web application devlopment workflow

Unit & End2End Testing

29

Page 30: Modern web application devlopment workflow

Unit Testing NodeJs

30

Page 31: Modern web application devlopment workflow

Exampledescribe('Student', function () { var student = { classes: [ 'English', 'Maths', 'Science' ] }

it('should have correct number of classes', function () { student.should.have.property('classes').with.lengthOf(3) })})

31

Page 32: Modern web application devlopment workflow

Unit Testing AngularJs

32

Page 33: Modern web application devlopment workflow

E2E Testing

33

Page 34: Modern web application devlopment workflow

CLI

34

Page 35: Modern web application devlopment workflow

Yo : 1- Install Yo, bower and gulp

$npm install -g yo bower grunt-cli gulp

2- Install Basic scafollding

$npm install -g generator-webapp

$mkdir myapp && cd myapp && yo webapp

3- Angular Scaffolding

$npm install -g generator-angular

$mkdir myapp && cd myapp && yo angular 35

Page 36: Modern web application devlopment workflow

Bower :

bower install <dep> // install dependecy <dep>

bower search <dep> //search for <dep>

bower list //list installed dependecies

bower update //update dependecies

36

Page 37: Modern web application devlopment workflow

Gulp :

$gulp serve // to serve the app

$gulp test // to run tests

$gulp build // to build dist version

37

Page 38: Modern web application devlopment workflow

Demo

38

Page 39: Modern web application devlopment workflow

Thank You

Q/A

39