클라이언트 측 JavaScript MVC (마이크로) 프레임 워크가 있습니까?
다소 복잡한 HTML 양식이 있으며 MVC 패턴의 이점을 누릴 수 있습니다.
좋은 솔루션이 다음을 제공한다고 생각합니다.
- 값이 변경되면 모델 및 뷰가 컨트롤러를 업데이트합니다 (Observer 패턴)
- 페이지가로드 될 때 양식 데이터에서 모델을 채 웁니다.
- 모델이 변경 될 때 모델에서 양식을 채 웁니다.
Ajax, 혜성, JSONP 및 모든 재즈는 심각한 과잉입니다.
클라이언트 측 JavaScript MVC (마이크로) 프레임 워크가 있습니까?
다소 복잡한 HTML 양식이 있으며 MVC 패턴의 이점을 누릴 수 있습니다.
좋은 솔루션이 다음을 제공한다고 생각합니다.
Ajax, 혜성, JSONP 및 모든 재즈는 심각한 과잉입니다.
답변:
백본은 매우 가벼운 프레임 워크입니다. 시도해보십시오 : http://backbonejs.org/
JavaScriptMVC 는 훌륭한 솔루션입니다. 플러그인 접근 방식으로 필요한 기능 만 선택할 수 있습니다. 2.0부터는 jQuery를 기반으로합니다.
JMVC는 개발을위한 중간 계층 만 제공하므로 웹 사이트를 점진적으로 향상시키는 것은 사용자에게 달려 있습니다. 디자인 선택은 사용자가 직접 결정해야합니다.
그러나 JavaScriptMVC는 강력한 이벤트 위임 기반 컨트롤러로 인해 최고의 범용 JavaScriptMVC 라이브러리입니다.
이벤트 위임을 사용하면 이벤트 핸들러를 첨부하지 않고도 페이지에 대한 규칙을 만들 수 있습니다.
마지막으로 JMVC는 MVC 아키텍처 그 이상입니다. 여기에는 개발주기의 모든 부분이 포함됩니다.
Spine 에는 Backbone과 비슷한 API가 있지만 훨씬 작습니다. 프로토 타입 상속이 특징입니다.
AngularJS는 jQuery와 함께 잘 작동하며 MVC 구조와 엄격한 우려 분리를 통해 많은 도움을 줄 것입니다.
전체 테스트 환경 및 의존성 주입 포함 ...
http://angularjs.org 에서 확인하십시오
실제로 : http://www.javascriptmvc.com/
나는 당신이 이것으로 충분하다고 생각합니다!
나는 이것이 당신이 체크 아웃해야 할 것처럼 보인다고 생각한다 : http://knockoutjs.com/
(silverlight / wpf 프로그래머로서 이것은 마침내 자바 스크립트를 배우기 시작한 라이브러리였습니다. 현재 VMV (Model-View-View-Model) 패턴을 기반으로합니다. 지금은 좋은 선택 인 것처럼 보입니다!)
인기있는 Backbone.js가 있습니다
다음은 Ember를 즐겁게 사용할 수있는 세 가지 기능입니다.
바인딩을 사용하여 서로 다른 두 객체 간의 속성을 동기화 상태로 유지하십시오. 바인딩을 한 번만 선언하면 Ember가 변경 사항이 어느 방향으로 전파되는지 확인합니다.
두 객체 사이에 바인딩을 만드는 방법은 다음과 같습니다.
MyApp.president = Ember.Object.create({
name: "Barack Obama"
});
MyApp.country = Ember.Object.create({
// Ending a property with 'Binding' tells Ember to
// create a binding to the presidentName property.
presidentNameBinding: 'MyApp.president.name'
});
MyApp.country.get('presidentName');
// "Barack Obama"
바인딩을 사용하면 MVC (Model-View-Controller) 패턴을 사용하여 응용 프로그램을 설계 한 다음 데이터가 항상 계층에서 계층으로 올바르게 전달된다는 것을 쉽게 알 수 있습니다.
계산 된 속성을 사용하면 함수를 속성처럼 취급 할 수 있습니다. 계산 된 속성은 다른 속성과 마찬가지로 바인딩으로 작업 할 수 있으므로 유용합니다.
Ember는 시맨틱 템플릿 라이브러리 인 Handlebars를 사용합니다. JavaScript 애플리케이션에서 데이터를 가져 와서 DOM에 넣으려면 값을 표시하려는 위치에 태그를 작성하여 HTML에 넣으십시오.
<script type="text/x-handlebars">
The President of the United States is {{MyApp.president.fullName}}.
</script>
요구 사항이 정말 간단 하다면 Alex Netkachov 처럼 간단한 MVC를 작성할 수 있습니다 .
그의 예제는 dojo (참고 : dojo.js 파일이 누락되어 페이지에서 작동하지 않음)를 기반으로하지만 일반 Javascript의 패턴을 따를 수 있습니다.
아마도 당신이 필요로하는 것에 대해 과잉 일 수 있지만 SproutCore 는 MVC 프레임 워크이며 JavaScriptMVC 또는 TrimPath의 Junction 보다 더 무겁지 않습니다 .
불행히도, 이들 중 어느 것도 점진적 향상 원칙에 기반한 것으로 보이지 않습니다 .
jquery-claypool 도 확인하십시오 .
jquery-claypool은 django, rails, spring 등에 대한 나의 경험을 바탕으로 jquery에 구축 된 작고 빠른 railable mvc 프레임 워크입니다. 매우 가볍고 클라이언트와 서버 환경 모두에서 실행됩니다.
깨끗한 mvc, 카테고리 로깅, 필터 (aop), 컨트롤러의 생성 지연, 제어 역전, 컨벤션 오버 컨피규레이션 등을위한 라우팅 프레임 워크를 제공합니다.
jquery가 이미 수행 한 작업을 수행하지 않고 jquery와 같은 느낌이 들며 좋은 프레임 워크처럼 작동합니다.
확인하시기 바랍니다.
자말은 내가 본 것 중 가장 가벼운 것입니다. 또한 jQuery (보너스)를 기반으로합니다. 사용하지 않았습니다.
일을 통제하고 아주 단순하게 유지하려면 프레임 워크가 필요하지 않지만 자신의 mvc 패턴을 구현하면됩니다. 2006 년 Alex Netkachov의 JavaScript 를 사용한 MVC (Model-View-Controller) 기사를 확인하십시오 .
다음은 인류에게 알려진 모든 오픈 소스 JavaScript 프레임 워크 목록입니다.
http://getopensource.info/explore/javascript/framework/
또는 MVC 프레임 워크 만
http://getopensource.info/explore/javascript/mvc/
공개 : 저는이 웹 사이트의 개발자입니다.
업데이트 2016 : Sammy.js가 버린 것 같습니다.
사이트의 텍스트 :
클래스가있는 작은 웹 프레임 워크.
나는 이것을 마이크로 프레임 워크 라고 부르지 않을 것이지만, 흥미롭게 보인다 : 카푸치노 웹 프레임 워크
나는 AngularJS (전체 공개, 나는 각도 개발 노력에 제한적으로 참여하고 있음)를 찬성했고 그것에 대해 매우 기쁘게 생각합니다. 내부 프로젝트에 대해 하나의 기능을 사용하고 (죄송합니다. 그것은 훌륭한 운동이었고 결국 Angular에 매우 많이 기울고 있습니다. 핵심 개발자는 질문에 대답하는 데 능숙하며 내장 된 데이터 바인딩, 단위 / e2e 테스트 및 문서화를 통해 정말 훌륭한 작업을 수행했습니다. 아직 베타 버전으로 1.0은 가까운 장래에 나옵니다. 베타는 매우 안정적입니다.
약간의 패러다임 전환이 있으며, 대부분과는 상당히 다른 접근법을 사용합니다. 좋아하는 jquery 플러그인을 통합하는 데 약간의 노력이 필요하지만 수행 가능하고 완료되었습니다 (github의 각도 제어).
나는 이것이 대부분의 js 중심 프레임 워크에서 문제가된다고 말하고 콘텐츠를 SEO 친화적으로 만드는 방법을 조사해야합니다 (중요한 경우). 6 월에 앵귤러 커뮤니티에 합류 한 이래로 관심이 높아지고 있으며 많은 사람들이 백본과 다른 사람들을 보았지만 실제로는 Angular에서 보는 것과 같다고 말하는 게시물을 만들고 있습니다.
Maverick은 작은 JavaScript MVC 프레임 워크입니다 — http://maverick.round.ee
다른 하나 : MooTools-MVC
Apple의 Cocoa Bindings에서 영감을 얻은 "Coherent"라는 키-값 바인딩 JavaScript 프레임 워크가있었습니다. 이 프레임 워크는 Apple에서 구입했지만 http://github.com/trek/coherentjs/tree/master에 여전히 오래된 사본이 있습니다 .
이 jQuery 기반 자바 스크립트 MVC 프레임 워크를 사용해보십시오 .
하나 더 가볍고 작은 : http://jqnano.oleksiy.pro/
Can.js 는 필요한 모든 것을 갖추고 있으며 무게는 8KB에 불과합니다. JavaScriptMVC에서 최고의 비트를 가져 와서 관찰자, 위젯, 바인딩, 작품이있는 하나의 작지만 kickass 프레임 워크로 증류했습니다. 주요 프레임 워크 ( jQuery , Dojo Toolkit , MooTools 등)와 호환됩니다. 문서는 훌륭하고 저자는 반응이 좋습니다. 볼만한 가치가 있습니다.