Backbone: λ°±λ³Έ μ»€μŠ€ν…€ λΉŒλ“œ

에 λ§Œλ“  2012λ…„ 08μ›” 29일  Β·  18μ½”λ©˜νŠΈ  Β·  좜처: jashkenas/backbone

Backbone 1.0 λ¦΄λ¦¬μŠ€μ— λŒ€ν•œ ν›Œλ₯­ν•œ μ—…κ·Έλ ˆμ΄λ“œλŠ” λͺ¨λ“  Backbone λͺ¨λ“ˆ(Events, Model, View, Collection, Router, Sync)을 λ³„λ„μ˜ 파일둜 λΆ„ν• ν•˜κ³  μ‚¬μš©μžμ—κ²Œ Grunt와 같은 λΉŒλ“œ 도ꡬλ₯Ό μ‚¬μš©ν•˜μ—¬ μ‚¬μš©μž μ •μ˜ λΉŒλ“œλ₯Ό λ§Œλ“€ 수 μžˆλŠ” κΈ°λŠ₯을 μ œκ³΅ν•˜λŠ” 것이라고 μƒκ°ν–ˆμŠ΅λ‹ˆλ‹€. 및/λ˜λŠ” DownloadBuilder.js. μ–΄λ–»κ²Œ μƒκ°ν•˜λ‚˜μš”? 관심이 μžˆμœΌμ‹œλ©΄ μž‘μ—…μ„ μˆ˜ν–‰ν•˜κ³  ν’€ λ¦¬ν€˜μŠ€νŠΈλ₯Ό λ°œν–‰ν•˜κ² μŠ΅λ‹ˆλ‹€.

change wontfix

λͺ¨λ“  18 λŒ“κΈ€

그것은 쒋은 κ²ƒμž…λ‹ˆλ‹€.

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 νŒŒμΌμ„ μ—¬λŸ¬ 파일둜 λΆ„ν• ν•˜κ³  λΉŒλ“œ μž‘μ—…μ΄ νŒŒμΌμ„ ν•˜λ‚˜μ˜ 파일둜 μ—°κ²°ν•˜μ—¬ 두 νŒŒμΌμ„ λͺ¨λ‘ μ–΄λ–»μŠ΅λ‹ˆκΉŒ ?

  • κ°„λ‹¨ν•œ 단일 파일
  • μ†ŒμŠ€ 파일 λΆ„ν• 
    ?
이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰