저는 Rails를 배우고 있으며 이러한 템플릿 엔진을 보았습니다. 나는 그들에 대한 경험이 없습니다 (단지 erb).
근데 초심자라서 정말 헷갈려요. 어떤 것을 제안하고 그 이유는 무엇입니까? Erb, Haml 또는 Slim? 다른 것보다 선호하는 이유를 알려주십시오. 다른 권장 사항이 있으면 알려주십시오.
편집 : 나는 여기서 우승자를 찾고 있지 않습니다. 나는 그들, 구문, 실행 속도 등에 대한 귀하의 의견을 듣고 싶습니다.
저는 Rails를 배우고 있으며 이러한 템플릿 엔진을 보았습니다. 나는 그들에 대한 경험이 없습니다 (단지 erb).
근데 초심자라서 정말 헷갈려요. 어떤 것을 제안하고 그 이유는 무엇입니까? Erb, Haml 또는 Slim? 다른 것보다 선호하는 이유를 알려주십시오. 다른 권장 사항이 있으면 알려주십시오.
편집 : 나는 여기서 우승자를 찾고 있지 않습니다. 나는 그들, 구문, 실행 속도 등에 대한 귀하의 의견을 듣고 싶습니다.
답변:
ERB는 주로 일반 HTML에서 작업 할 웹 디자이너가 있고 햄 또는 슬림을 알지 못하는 경우에 좋습니다. 이런 식으로 그는 HTML을 작성할 수 있고 적절한 태그를 사용하여 루비 로직을 임베드 할 수 있습니다.
HTML과 루비 로직 모두에서 작업하거나 디자이너가 HAML과 같은 새로운 것을 배울 준비가되어 있다면 HAML을 선택하겠습니다. 루비 친화적이고 ERB보다 훨씬 더 읽기 쉽고 문자 수를 줄입니다.
ERB에서보기는 다음과 같습니다.
<div id="profile">
<div class="left column">
<div id="date"><%= print_date %></div>
<div id="address"><%= current_user.address %></div>
</div>
<div class="right column">
<div id="email"><%= current_user.email %></div>
<div id="bio"><%= current_user.bio %></div>
</div>
</div>
HAML에서는 다음과 같이 보입니다.
#profile
.left.column
#date= print_date
#address= current_user.address
.right.column
#email= current_user.email
#bio= current_user.bio
훨씬 더 깨끗해!
HAML과 SLIM의 차이점은 SLIM으로 작업 한 적은 없지만 맛의 문제라고 생각합니다. 두 구문을 모두 살펴보고 어느 것이 더 잘 보이는지 결정하십시오. 이 둘 (HAML / SLIM) 사이에 확실한 승자가 있다고 생각하지 않습니다.
a href="foo"
..
햄보다 슬림을 사용하는 두 가지 큰 장점 :
Slim은 현재 haml보다 약 8 배 빠릅니다.
Slim은 HTTP 스트리밍을 지원하지만 HAML은 지원하지 않습니다.
Slim은 더 자연스러운 구문을 가지고 있습니다. a href="foo.html"
내 머리 꼭대기에서 이것이 내가 생각 해낸 것입니다.
ERB :
장점
단점
HAML
장점
단점
저에게 질문은 %
모든 태그 |
앞에 또는 모든 새 텍스트 블록 앞에 두겠습니까?
날씬한:
tag(attr= "value")
| text
Haml :
%tag{attr: "value"}
text
한 가지 더주의해야 할 사항 : haml은 새 줄 사이에 공백을 가정 하고 (haml에서 공백 제거 ) 슬림은 공백을 가정하지 않습니다 ( 여기 및 여기 에 Slim에 공백 추가 ).
|
에 %
대해 각 텍스트 블록에 대해 확실히 . 리터럴 텍스트 블록보다 훨씬 더 많은 태그가 있습니다. 날씬한 나에게 작지만 의미 론적 승리는 <>
태그가 사용 된 원시 리터럴 html 앞에 명시 적 |
. 나는 "모든 것을 당신이 명시 적으로 문자하지 않는 한 슬림 선호 |
"당신이 가진 HAML 할 때까지 모든 문자는 "이상 %
.
attr="value"
)처럼 보이지만 Haml은 Ruby ( {key: "value"}
Hash처럼)처럼 보입니다 .
https://github.com/scalp42/hamlerbslim- 성능 측면에서 Slim과 Erb를 승자로 보여주는 독립적 인 벤치 마크입니다 (슬림은 HTML 출력 크기도 줄이는 경향이 있음).
내 개인적인 의견은 전반적으로 Slim과 Haml이 유지 관리 측면에서 시간 (== 돈)을 절약 할 수 있다는 것입니다. Haml / Slim에 정통한 사람들이 귀하의 견해를 돌보는 경우에만 가능합니다.
그런 사람들이 없다면 Erb는 확실히 갈 길입니다. 세계 최고의 의지에도 불구하고 HTML / Erb로 작업 할 수 있지만 Haml / Slim을 완벽하게 찾을 수있는 매우 저렴한 사람들이 많이 있기 때문입니다. 신비.
무엇보다도이 사람들에게 Slim을 사용하도록 훈련 시키거나 최소한 그들에게 노출 시키도록 훈련시키고 "얻는"사람들의 수를 유지하십시오.