Backbone 1.0 릴리μ€μ λν νλ₯ν μ κ·Έλ μ΄λλ λͺ¨λ Backbone λͺ¨λ(Events, Model, View, Collection, Router, Sync)μ λ³λμ νμΌλ‘ λΆν νκ³ μ¬μ©μμκ² Gruntμ κ°μ λΉλ λꡬλ₯Ό μ¬μ©νμ¬ μ¬μ©μ μ μ λΉλλ₯Ό λ§λ€ μ μλ κΈ°λ₯μ μ 곡νλ κ²μ΄λΌκ³ μκ°νμ΅λλ€. λ°/λλ DownloadBuilder.js. μ΄λ»κ² μκ°νλμ? κ΄μ¬μ΄ μμΌμλ©΄ μμ μ μννκ³ ν 리νμ€νΈλ₯Ό λ°ννκ² μ΅λλ€.
κ·Έκ²μ μ’μ κ²μ λλ€.
Backbone.js μ½λλ² μ΄μ€λ₯Ό λͺ¨λνν λ°©λ²μ κ΄μ¬μ΄ μλ€λ©΄ λ°±λ³Έ ν¬ν¬ λ΄λΆμ customBuild ν΄λλ₯Ό νμΈνμμμ€. λͺ¨λ λ°±λ³Έ λ¨μ ν
μ€νΈλ μ¬μ ν μ±κ³΅μ μΌλ‘ ν΅κ³Όνλ€λ μ μ λͺ
μ¬νμμμ€.
https://github.com/gfranko/backbone/tree/modularBuilds
λν λ€μμ μ¬μ©μ μ μ λΉλ UIκ° μλνλ λ°©μμ μμ
λλ€.
http://gregfranko.com/backbone/customBuild/
λ§μ§λ§μΌλ‘ λ€μμ λ°±λ³Έμ μΌλΆλ§ μ μ¬μ μΌλ‘ μ¬μ©νλ κ²μ λν΄ λ
ΌμνκΈ° μν΄ μμ±ν λΈλ‘κ·Έ κ²μλ¬Όμ
λλ€.
http://gregfranko.com/blog/backbone-dot-js-convincing-the-boss-guide/
μ λ Idea, νΉν λ£¨λΉ μμ‘΄μ±μ΄ μ¬λΌμ§κ³ κΏκΏκ±°λ¦¬λ μλ¦¬κ° μλνλ λΆλΆμ κ°μ¬λ립λλ€.
λν Backbone.Routerκ° νμνμ§ μμ μν©μ΄ μμ΅λλ€.
κ²λ€κ° μ΄κ²μ LoDash(μ΄, μ무λ νλ₯Ό λ΄μ§ μκΈ°λ₯Ό λ°λλλ€) 컀μ€ν λΉλμ μ λ§ μ μ΄μΈλ¦½λλ€.
@asciidisco μμ§ μ¬μ©μ μ μ λΉλλ₯Ό Gruntμ ν΅ν©νλ μμ μ μννμ§ μμμ΅λλ€. λΉμ μ΄ κ·Έκ²μ μ κ·Όνλ λ°©λ²μ λν μμ΄λμ΄κ° μμ΅λκΉ?
@gfranko ꡬνκ³Ό κ°μ jQueryλ₯Ό λ³΄κ³ μΆμ΅λλ€(1.8λΆν° μ¬μ©μ μ μ λΉλλ μμ).
μ΄λ² μ£Όλ§μ νλ‘μ νΈλ₯Ό λΆκΈ°νκ³ μ€νμ μ€ μλ μμ§λ§ μΆ©λΆν μκ°μ΄ μλμ§ νμ€νμ§ μμ΅λλ€.(
@asciidisco κ±±μ νμ§ λ§μΈμ. μ΄λ² μ£Όλ§μ jQuery grunt νμΌμ μ΄ν΄λ³΄κ³ μ΄λ»κ² νκ³ μλμ§ μμλ³Ό κ²μ λλ€.
:+1: μ½λλ² μ΄μ€λ₯Ό λͺ¨λννκΈ° μν΄
μ¬λ¬ νμΌμ΄ μ μ©ν κ²½μ°κ° λ§μ§λ§ μμ€λ₯Ό λΆν νλ κ²μ΄ Backboneμ λμμ΄ λ κ²μ΄λΌκ³ μκ°νμ§ μμ΅λλ€. λΌμ΄λΈλ¬λ¦¬λ λ€μ μκΈ° λλ¬Έμ μ¬μ©μ μ μ λΉλλ κΈ°κ»ν΄μΌ λͺ ν¬λ‘λ°μ΄νΈλ§ μ μ½ν μ μμ§λ§ μΆκ°λ 볡μ‘μ±μ μλΉν κ²μ λλ€.
κ°μΉκ° μκΈ° λλ¬Έμ μ΄κ²μ μ΄μ μ #65μμ ν λ² μ΄μ λ Όμλμμ΅λλ€.
μλ₯Ό λ€μ΄ μ¬μ©μκ° Backbone.jsμ ν¨κ» jQuery Mobileμ μ¬μ©νκ³ μκ³ Backbone Routesλ₯Ό ν¬ν¨νκ³ μΆμ§ μμ κ²½μ°μ μ¬μ© μ¬λ‘λ μ΄λ»μ΅λκΉ?
κΈ°λ³Έ Backbone μμ€κ° νλμ νμΌλ‘ μ μ§λμ΄μΌ νλ€λ λ° λμνμ§λ§ μ¬μ©μκ° νΉμ κΈ°λ₯μ μνμ§ μλ κ²½μ°λ₯Ό λλΉνμ¬ μμ€λ₯Ό μ¬λ¬ νμΌλ‘ λΆν (μ΄κ²μ΄ λ λ§μ μ μ§ κ΄λ¦¬ μμ μ΄λΌλ κ²μ μκ³ μμ)λ μΆκ°ν μ μλ€κ³ μ μνμ΅λλ€.
λν λ΄ λΈλ‘κ·Έ κ²μλ¬Ό μμ μ¬μ©μκ° Backboneμ λͺ¨λ κΈ°λ₯μ ν¬ν¨νμ§ μλλ‘ νλ©΄ κΈ°μ νκ²½μμ Backboneμ ν¨μ¬ λ μ½κ² μ¬μ©ν μ μλ€κ³ μ μνμ΅λλ€.
κ·Έλ¦¬κ³ μΆκ°λ 볡μ‘μ±μ 무μμΈμ§ κΆκΈν©λλ€.
μλ₯Ό λ€μ΄ μ¬μ©μκ° Backbone.jsμ ν¨κ» jQuery Mobileμ μ¬μ©νκ³ μκ³ Backbone Routesλ₯Ό ν¬ν¨νκ³ μΆμ§ μμ κ²½μ°μ μ¬μ© μ¬λ‘λ μ΄λ»μ΅λκΉ?
μμ€μμ μμ νλ©΄ λ©λλ€. λΌλ²¨μ΄ λͺ ννκ³ μννκΈ° μ½μ΅λλ€.
κ·Έλ¦¬κ³ μΆκ°λ 볡μ‘μ±μ 무μμΈμ§ κΆκΈν©λλ€.
μ λ μ κ· λ° κΈ°μ‘΄ κΈ°κ³ μμ 볡μ‘μ±μ μΈκΈνκ³ μμ΅λλ€. μ νλ‘μ νΈλ₯Ό μν μ½λλ₯Ό μμ±νλ κ²μ νμ λ² μ°¬ μΌμ΄λ©° κ°λ₯ν ν κΆμ₯νκ³ μΆμ΅λλ€. νμ¬ Backboneμλ λ‘컬 νμΌκ³Ό ν μ€νΈ νΈμ§κΈ°λ₯Ό μ 곡νλ λΈλΌμ°μ λ§ νμν©λλ€. λΉλ μμ€ν /λκ΅¬κ° νμν κ²μ ν° λ°μ μ λλ€.
μ¦, λλ μΌλ°μ μΌλ‘ μ¬μ©μ μ μ λΉλμ λ°λνμ§ μμΌλ©° λΈλ‘κ·Έ κ²μλ¬Όμμ μκ°νλ λꡬλ₯Ό μ νΈν©λλ€. :)
λ§μ΅λλ€. κ° Backbone ν΄λμ€ κ°μ²΄λ λͺ ννκ² λ μ΄λΈμ΄ μ§μ λμ΄ μμ΅λλ€. μ¦, λλΆλΆμ κ°λ°μκ° μ¬μ© μ€μΈ λΌμ΄λΈλ¬λ¦¬μ μμ€λ₯Ό λ§μ§κΈ°λ₯Ό μνμ§ μλλ€κ³ μκ°ν©λλ€.
Require.js λ° λΉ AMD νΈν μ€ν¬λ¦½νΈλ₯Ό μλ‘ μ΄ν΄λ³΄μμμ€. μ μ λ©μλ λ΄λΆμ libλ₯Ό λννλ κ²μ μΆ©λΆν μ½μ§λ§ λκ° κ·Έλ κ² νκ³ μΆμ΅λκΉ?
κ·Έλ¬λ μ, λ무 λ§μ μ’ μμ±/볡μ‘μ±μ λμ νμ§ μλ κ²μ λν΄ κ·νκ° λ§νλ κ²μ λ€μμ΅λλ€. λλ μ΄κ²μ λ³λμ νλ‘μ νΈλ‘ μ μ§νκ³ λ°±λ³Έ μμ€λ₯Ό μ¬μ©νμ¬ μ½λλ₯Ό μ΅μ μνλ‘ μ μ§ν κ²μ΄λΌκ³ μκ°ν©λλ€.
μ -- μ λ§ κΉλν νλ‘μ νΈλΌκ³ μκ°ν©λλ€ ... κ·Έλ¬λ Backboneμ λ¨μνκ³ λ¨μΌ μ€ν¬λ¦½νΈλΌλ μ΄μ μ΄ μμ΅λλ€. λ°±λ³Έμ΄ μ€μΉλμ΄ μλ€λ©΄ λ°±λ³Έμ΄ μ 곡λλ©° μ¬μ© κ°λ₯ν λͺ¨λ κ²μ μμ‘΄ν μ μμ΅λλ€.
bradunbar: μμ€μμ μμ νλ©΄ λ©λλ€. λΌλ²¨μ΄ λͺ ννκ³ μννκΈ° μ½μ΅λλ€.
κ°, ν¨μ μ΄λ€! νμ§, νΈνμ± λ° κΈ°λ₯μ 보μ₯νκΈ° μν 곡μ λΉλ μμ€ν μ΄ μμΌλ©΄ λ μ’μ΅λλ€.
jashkenas: μ -- μ λ§ κΉλν νλ‘μ νΈλΌκ³ μκ°ν©λλ€... νμ§λ§ Backboneμ λ¨μν λ¨μΌ μ€ν¬λ¦½νΈλΌλ μ΄μ μ΄ μμ΅λλ€.
μ, μ λ λ¨μΌ νμΌμ νκ³ μμ΅λλ€. μ΄κ²μ΄ Lo-Dashκ° λ¨μΌ νμΌμ΄μ§λ§ μ¬μ ν μ¬μ©μ μ μ λΉλλ₯Ό μ§μνλ μ΄μ μ λλ€(jQueryλ 리ν¬μ§ν 리μ κ°λ³ νμΌκ³Ό ν¨κ» μλνμ§λ§).
μ¬μ©μ μ μ λΉλλ νλ₯νκ³ κ°λ°μμκ² λ λ§μ μ μ΄ κΆνμ μ 곡ν©λλ€. Lo-Dash λ° jQueryκ° μ¬μ©μ μ μ λΉλλ₯Ό μ§μνλ κ²½μ° λλ½λ μ μΌν κ²μ Backbone ;D
μ΄λ΄,
κ΄μ¬ μλ λΆμ΄ μλ€λ©΄ 컀μ€ν
λ°±λ³Έ λΉλλ₯Ό μμ±νλ κ·Έλ°νΈ νλ¬κ·ΈμΈμ λ§λ€μμ΅λλ€.
"μΌλ°" λ°±λ³Έ μμ€ νμΌ: https://github.com/asciidisco/grunt-backbonebuilder
μ§κΈκΉμ§λ μ€μ λ‘ ν
μ€νΈλμ§ μμμ΅λλ€(λͺ¨λ λΌμ°ν° λ° κΈ°λ‘ νλͺ©μ μ μΈνκ³ λ°±λ³Έ λ²μ μ μ€ννμ§λ§). μλν©λλ€.
μ. νΌλλ°± νμν©λλ€.
@asciidisco κ°μ¬ν©λλ€.
Browserify λλ webpackμΌλ‘ μ ννλ©΄ λ μΈκ³(μ¬λ¬ νμΌ λ° λ¨μΌ νμΌ)μ μ₯μ μ μ½κ² μ»μ μ μμΌλ©΄ μ’μ κ²μ λλ€.
Events
λ₯Ό λ³λμ λͺ¨λλ‘ νλ κ²μ΄ μ’μ΅λλ€. μ νμ Model
λ° Collection
μ’
μμ±μ΄ μλ μ¬μ©μ μ μ λͺ¨λμ λΉλν λ λ§€μ° μ μ©ν©λλ€.
Angular λ° AngularJS νλ‘μ νΈμμ λ°±λ³Έ λͺ¨λΈ λ° μ»¬λ μ μ μ¬μ©νκ³ μμ΅λλ€. 컨μ μ΄ κ΅μ₯νκΈ° λλ¬Έμ λͺ¨λΈκ³Ό 컬λ μ λ§ μμΌλ©΄ λ©λλ€. λλ λ°μ΄ν° μ‘μΈμ€ κ³μΈ΅μΌλ‘ μ¬μ©νκ³ μμ΅λλ€. Angularλ UI λ μ΄μ΄λ₯Ό μ 곡ν©λλ€.
μ΅κ·Όμ Angular μ±μμ BackboneJSλ₯Ό μ¬μ©νμ¬ μ΄μ μ μ»μ μ μλ λ°©λ²μ λν κΈ°μ¬λ₯Ό μμ±νμ΅λλ€. https://docs.google.com/document/d/1ptYmQzjq8EWLKyqFENqyXwzz67VNWzh_-clhy4W5R40
BackboneJSλ₯Ό μ¬λ¬ κ΅¬μ± μμλ‘ λΆν νμ¬ νμν νλͺ©λ§ ν¬ν¨ν μ μλ€λ©΄ μ λ§ μ’μ κ²μ λλ€.
@jashkenas src νμΌμ μ¬λ¬ νμΌλ‘ λΆν νκ³ λΉλ μμ μ΄ νμΌμ νλμ νμΌλ‘ μ°κ²°νμ¬ λ νμΌμ λͺ¨λ μ΄λ»μ΅λκΉ ?