>  기사  >  웹 프론트엔드  >  자바스크립트 프레임워크 디자인의 프레임워크 분류 및 주요 기능_javascript 스킬

자바스크립트 프레임워크 디자인의 프레임워크 분류 및 주요 기능_javascript 스킬

WBOY
WBOY원래의
2016-05-16 15:53:361180검색

내부 아키텍처와 개념의 관점에서 현재 JavaScript 프레임워크는 5가지 범주로 나눌 수 있습니다.

첫 번째는 네임스페이스 중심의 클래스 라이브러리나 프레임워크입니다. 배열을 만들면 new Array()를 사용하고, 객체를 생성할 경우에는 new Object()를 사용하는데, 완전 자바 스타일입니다. 따라서 우리는 특정 개체를 기반으로 하고 거기에 지속적으로 개체와 보조 개체 속성을 추가하여 코드를 구성하고 피라미드처럼 구축합니다. 초기에는 YUI, EXT(따라서 모든 동적 회사는 아님)를 나타냈습니다. 아직도 사용하고 있어요)

두 번째는 클래스 팩토리 중심 프레임워크입니다. 유명한 모듈로는 Prototype, mootools, Base2, Ten 등이 있습니다. 기본적으로 가장 기본적인 네임스페이스를 제외하고 다른 모듈은 클래스 팩토리에서 파생된 클래스 개체입니다. 특히 mootools1.3은 모든 유형을 유형 유형으로 캡슐화합니다.

세 번째 유형은 jQuery로 표현되는 선택기 중심 프레임워크입니다. 전체 프레임워크 또는 라이브러리 본체는 중앙 집중식 작업을 용이하게 하는 특수 배열형 객체입니다(선택기가 갑자기 N 요소 노드를 선택했기 때문). ) 그래서 함께 처리되었습니다. jQuery에는 몇 가지 장점이 있습니다.

"새 인스턴스화 없음" 기술, $(expr)는 인스턴스를 반환하며 명시적인 새 인스턴스가 필요하지 않습니다.
먼저 모든 액세스 규칙을 설정하세요.
데이터 캐싱 시스템. 이 방법으로 노드 이벤트를 할당할 수 있습니다.
IIFE도 발견되었습니다

네 번째 유형은 로더로 연결된 프레임워크입니다. 여러 개의 자바스크립트 파일이 있으며 각 자바스크립트 파일은 정해진 규칙에 따라 작성됩니다. 그 중 가장 유명한 것은 AMD이다. 모듈화는 JavaScript가 산업화를 향해 나아가고 있다는 신호입니다. “복잡한 소프트웨어를 복잡하게 만들지 않고 작성하는 유일한 방법은 명확한 인터페이스를 정의하고 여러 모듈을 결합하는 것입니다. 이런 식으로 대부분의 문제는 로컬에서만 나타나므로 여전히 문제가 있습니다. "전체에 영향을 주지 않고 로컬 개선 및 최적화가 이루어질 수 있기를 바랍니다. "Dojo, YUI, Kissy, qwrap, Mass, (requirejs, Seajs) 등 많은 기업 내부 프레임워크가 기본적으로 이 아키텍처를 채택합니다.

자바스크립트 프레임워크의 주요 기능

jQuery 프레임워크 클래스 라이브러리의 모듈 분할은 기본적으로 모듈과 자바스크립트 파일인 github의 소스 코드를 기반으로 합니다. DOM 작업에 중점을 둔 jQuery의 아이디어는 처음부터 맞았으며 앞으로도 그럴 것입니다. 앞으로도 계속해서 호환성을 개선하겠습니다. 수년간의 개발 끝에 jQuery의 대규모 플러그인과 완전한 BUG 제출 채널을 통해 계속해서 개선될 수 있었습니다.

Prototype.js

초기왕, 네 부분으로 나누어져 있습니다.

언어 확장 DOM 확장

Ajax 부분

버려진 부분, 새 버전은 원래 기능을 달성하기 위해 다른 방법을 사용합니다

Prototype.js에는 기본 데이터 유형과 언어에서 빌린 "클래스"를 포함하여 광범위한 언어 확장이 있습니다. 그중 Enumerable은 일반적인 메서드 패키지인 반면 ObjectRange, PeriodicalExecuter 및 Templat는 커뮤니티 기여를 통해 Class 클래스 팩토리를 사용하여 생성됩니다.

mootools

API 디자인이 매우 우아하고 공식 홈페이지에 고품질 플러그인이 많기 때문에 프로토타입 확장에 대한 반대 물결에도 쇠퇴하지 않았습니다.

Rightjs:

프로토타입 확장을 위한 또 다른 프레임워크인 MochiKit은 매우 독특하고 상위 10개 프레임워크 중 하나로 평가될 수 있는 Python 스타일 프레임워크입니다.

10: Amachang이 Prototype.js의 영향을 받아 개발한 유명한 일본 블로그 커뮤니티인 Hatena의 Javascript 프레임워크는 space라는 이름을 딴 프레임워크의 최초의 예입니다. mass Framework: 대규모를 대상으로 하는 jQuery 스타일 프레임워크입니다. 모듈 개발 .
자세한 비교를 통해 다음 프레임워크 기능에 대해 쉽게 결론을 내릴 수 있습니다

위 내용은 이 글의 전체 내용입니다. 모두 마음에 드셨으면 좋겠습니다.
对基本数据的操作是基础,如jQuery提供的trim camelCase each map等方法,Prototype.js等入侵式框架则在原型上添加camelize等方法
类型的判定比不可少,常见的形式是jsXXX系列
选择器,domReady Ajax是现代框架的标配
DOM操作是重中之重,节点的遍历,样式操作,属性操作也属于它的范畴
现在主流的事件系统都支持事件代理
数据的缓存与处理,目前浏览器也支持data-属性进行操作,但不好用,需要框架封装
动画引擎
插件的易开发和扩展性
提供诸如Deferred这样处理异步的解决方案
即使不专门提供一个类工厂,也应该存在一个名为extend或mixin的方法对对象进行扩展。jQuery虽然没有类工厂,但在jQuery UI中也不得不增加一个,可见其重要性。
自从jQuery出来一个名为noConflict的方法,新兴的框架都带此方法,以求狭缝中生存。
许多框架非常重视Cookie操作。
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.