2013 jco tipjs.com javascript mvc framework

31
제 13 제 제제제제제제제 제제제제 Hello tipJS JavaScript MVC Framework undefine:D 백백백

Upload: seung-hyun-paek

Post on 16-Jun-2015

794 views

Category:

Technology


8 download

TRANSCRIPT

Page 1: 2013 JCO tipJS.com JavaScript MVC framework

제 13 회 한국자바개발자 컨퍼런스

HellotipJS JavaScript

MVCFramework

undefine:D 백승현

Page 2: 2013 JCO tipJS.com JavaScript MVC framework

제 13 회 한국자바개발자 컨퍼런스

PAEK, Seung-Hyun

web developertipJS.com

@console.comKAUG(Korea AngularJS User Group) organizer

Page 3: 2013 JCO tipJS.com JavaScript MVC framework

제 13 회 한국자바개발자 컨퍼런스

Obstacles with using JavaScript

the spaghetti sourcebrowser cache

processing of dynamic HTMLdebugging

benchmarkinginternationalization/i18n

Page 4: 2013 JCO tipJS.com JavaScript MVC framework

제 13 회 한국자바개발자 컨퍼런스

Obstacles with using JavaScript

the spaghetti sourcebrowser cache

processing of dynamic HTMLdebugging

benchmarkinginternationalization/i18n

Page 5: 2013 JCO tipJS.com JavaScript MVC framework

제 13 회 한국자바개발자 컨퍼런스

Obstacles with using JavaScript

the spaghetti source

Page 6: 2013 JCO tipJS.com JavaScript MVC framework

제 13 회 한국자바개발자 컨퍼런스

Obstacles with using JavaScript - the spaghetti source

<script>functionA(){

}

functionB(){ …}

functionC(){ …}

ProcessBlock

functionBA()

functionBB()

functionCA()

functionCB()

Page 7: 2013 JCO tipJS.com JavaScript MVC framework

제 13 회 한국자바개발자 컨퍼런스

Obstacles with using JavaScript - the spaghetti source

<script>functionA(){

}

functionB(){ …}

functionC(){ …}

tipJS.controller({ name:’controllerA’, invoke:function(){

}});

ProcessBlock

ProcessBlock

model.func-tionBA()model.func-tionBB()model.func-tionCA()

functionBA()

functionBB()

functionCA()

functionCB()

model.func-tionCB()

Page 8: 2013 JCO tipJS.com JavaScript MVC framework

제 13 회 한국자바개발자 컨퍼런스

Obstacles with using JavaScript - the spaghetti source

<script>functionA(){

}

functionB(){ …}

functionC(){ …}

tipJS.controller({ name:’controllerA’, invoke:function(){

}});

tipJS.model({ name:’model’, functionBA:function(){

}, functionBB:function(){

}});

ProcessBlock

ProcessBlock

model.func-tionBA()model.func-tionBB()

Process-Block

tipJS.model({ name:’model’, functionCA:function(){

}, functionCB:function(){

}});

Process-Block

model.func-tionCA()

functionBA()

functionBB()

functionCA()

Process-Block

functionCB()

model.func-tionCB()

Process-Block

Page 9: 2013 JCO tipJS.com JavaScript MVC framework

제 13 회 한국자바개발자 컨퍼런스

Obstacles with using JavaScript

browser cache

Page 10: 2013 JCO tipJS.com JavaScript MVC framework

제 13 회 한국자바개발자 컨퍼런스

Obstacles with using JavaScript - browser cache

<script src=‘…/js/scriptFile1.js’></script>

<script src=‘…/js/scriptFile2.js’></script>

<script src=‘…/js/scriptFile3.js’></script>

Page 11: 2013 JCO tipJS.com JavaScript MVC framework

제 13 회 한국자바개발자 컨퍼런스

Obstacles with using JavaScript - browser cache

<script src=‘…/js/scriptFile1.js?ver=1.3’></script>

<script src=‘…/js/scriptFile2.js?ver=1.3’></script>

<script src=‘…/js/scriptFile3.js?ver=1.3’></script>

Page 12: 2013 JCO tipJS.com JavaScript MVC framework

제 13 회 한국자바개발자 컨퍼런스

Obstacles with using JavaScript - browser cache

tipJS.define({ … noCache : true, noCacheParam : ‘ver’, noCacheVersion : 1.3, controllers : [ ‘someCtrl.js’ ], models : [ ‘someModel.js’ ], …});

Page 13: 2013 JCO tipJS.com JavaScript MVC framework

제 13 회 한국자바개발자 컨퍼런스

Obstacles with using JavaScript - browser cache

tipJS.define({ … noCache : true, noCacheParam : ‘ver’, noCacheVersion : 1.3, controllers : [ ‘someCtrl.js’ ], models : [ ‘someModel.js’ ], …});

<script src=‘…/controllers/someCtrl.js?ver=1.3’></script>

<script src=‘…/models/someModel.js?ver=1.3’></script>

Page 14: 2013 JCO tipJS.com JavaScript MVC framework

제 13 회 한국자바개발자 컨퍼런스

Obstacles with using JavaScript

processing of dynamic HTML

Page 15: 2013 JCO tipJS.com JavaScript MVC framework

제 13 회 한국자바개발자 컨퍼런스

Obstacles with using JavaScript - processing of dynamic HTML

tipJS.controller({ … var person = { name : ‘foo’, age : 20 };

var html = ‘’; html += ‘<div>’; html += ‘ <ul>’; for(var i=0; i<array.length; i++) { html += ‘ <li>name : ’ + person.name + ‘</li>’; html += ‘ <li>age : ’ + persion.age + ‘</li>’; } html += ‘ </ul>’; html += ‘</div>’;

$(‘#targetDiv’).html( html ); …});

Page 16: 2013 JCO tipJS.com JavaScript MVC framework

제 13 회 한국자바개발자 컨퍼런스

Obstacles with using JavaScript - processing of dynamic HTML

<div>    <ul>        <@ for(var i=0; i<data.length; i++) { @>            <li><@= data[i].name @></li>            <li><@= data[i].age @></li>        <@ } @>    </ul></div>

Page 17: 2013 JCO tipJS.com JavaScript MVC framework

제 13 회 한국자바개발자 컨퍼런스

Obstacles with using JavaScript - processing of dynamic HTML

tipJS.controller({ … var person = { name : ‘foo’, age : 20 }; var option = { url:’.../person.html’, renderTo : ‘personDiv’, data : [person, person] } var returnHTML = this.renderTemplate( option ); …});

<div>    <ul>        <@ for(var i=0; i<data.length; i++) { @>            <li><@= data[i].name @></li>            <li><@= data[i].age @></li>        <@ } @>    </ul></div>

Page 18: 2013 JCO tipJS.com JavaScript MVC framework

제 13 회 한국자바개발자 컨퍼런스

Obstacles with using JavaScript

debugging

Page 19: 2013 JCO tipJS.com JavaScript MVC framework

제 13 회 한국자바개발자 컨퍼런스

Obstacles with using JavaScript - debugging

tipJS.config ({ … developmentHostList:[ 'localhost' ,'127.0.0.1‘ ,'tipjs.com ], …});

Page 20: 2013 JCO tipJS.com JavaScript MVC framework

제 13 회 한국자바개발자 컨퍼런스

Obstacles with using JavaScript - debugging

tipJS.config ({ … developmentHostList:[ 'localhost' ,'127.0.0.1‘ ,'tipjs.com ], …});

tipJS.controller({ ... tipJS.debug(’varA is ’+ varA); tipJS.log(’varA is ’+ varA); tipJS.echo(someObject); ...});

Page 21: 2013 JCO tipJS.com JavaScript MVC framework

제 13 회 한국자바개발자 컨퍼런스

Obstacles with using JavaScript

benchmarking

Page 22: 2013 JCO tipJS.com JavaScript MVC framework

제 13 회 한국자바개발자 컨퍼런스

Obstacles with using JavaScript - benchmarking

tipJS.benchmark.mark("point1");... tipJS.benchmark.mark("point2");…tipJS.benchmark.mark("point3");…

Page 23: 2013 JCO tipJS.com JavaScript MVC framework

제 13 회 한국자바개발자 컨퍼런스

Obstacles with using JavaScript - benchmarking

tipJS.benchmark.mark("point1");... tipJS.benchmark.mark("point2");…tipJS.benchmark.mark("point3");…

tipJS.benchmark.elapsedTime("point1", "point2");

tipJS.benchmark.elapsedTime("point2", "point3");

tipJS.benchmark.elapsedTime("point1", "point3");

Page 24: 2013 JCO tipJS.com JavaScript MVC framework

제 13 회 한국자바개발자 컨퍼런스

Obstacles with using JavaScript

internationalization/i18n

Page 25: 2013 JCO tipJS.com JavaScript MVC framework

제 13 회 한국자바개발자 컨퍼런스

Obstacles with using JavaScript - internationalization/i18n

tipJS.localSet({ "Save":"저장“ , "Load":"불러오기“});

tipJS.localSet({ "Save":"保存“ , "Load":"読み込み“});

Page 26: 2013 JCO tipJS.com JavaScript MVC framework

제 13 회 한국자바개발자 컨퍼런스

Obstacles with using JavaScript - internationalization/i18n

tipJS.define({ name:"someApp", localSet:true, ...});

tipJS.localSet({ "Save":"저장“ , "Load":"불러오기“});

tipJS.localSet({ "Save":"保存“ , "Load":"読み込み“});

Page 27: 2013 JCO tipJS.com JavaScript MVC framework

제 13 회 한국자바개발자 컨퍼런스

Obstacles with using JavaScript - internationalization/i18n

tipJS.define({ name:"someApp", localSet:true, ...});

tipJS.controller({ … invoke:function(params){ alert( tipJS.msg("Load") ); // "불러오기 " }});

tipJS.localSet({ "Save":"저장“ , "Load":"불러오기“});

tipJS.localSet({ "Save":"保存“ , "Load":"読み込み“});

Page 28: 2013 JCO tipJS.com JavaScript MVC framework

제 13 회 한국자바개발자 컨퍼런스

Obstacles with using JavaScript - internationalization/i18n

tipJS.define({ name:"someApp", localSet:true, ...});

tipJS.controller({ … invoke:function(params){ alert( tipJS.msg("Load") ); // "불러오기 " }});

tipJS.localSet({ "Save":"저장“ , "Load":"불러오기“});

tipJS.localSet({ "Save":"保存“ , "Load":"読み込み“});

<script>...tipJS.lang = "ja"; // set to JapanesstipJS.loadApp(["someApp"]);...</script>

Page 29: 2013 JCO tipJS.com JavaScript MVC framework

제 13 회 한국자바개발자 컨퍼런스

Obstacles with using JavaScript - internationalization/i18n

tipJS.define({ name:"someApp", localSet:true, ...});

tipJS.controller({ … invoke:function(params){ alert( tipJS.msg("Load") ); // " 読み込み " }});

tipJS.controller({ … invoke:function(params){ alert( tipJS.msg("Load") ); // "불러오기 " }});

tipJS.localSet({ "Save":"저장“ , "Load":"불러오기“});

tipJS.localSet({ "Save":"保存“ , "Load":"読み込み“});

<script>...tipJS.lang = "ja"; // set to JapanesstipJS.loadApp(["someApp"]);...</script>

Page 30: 2013 JCO tipJS.com JavaScript MVC framework

제 13 회 한국자바개발자 컨퍼런스

http://tipJS.com

QnA

Page 31: 2013 JCO tipJS.com JavaScript MVC framework

제 13 회 한국자바개발자 컨퍼런스

undefined.kr

The END