2014-11-15 6 views
14

나는 고치다. MeteorJS를 통해 웹 앱을 개발했으며 지금까지 4 분의 1에 불과했습니다. 그런 다음 최근 출시 된 유성을 따라옵니다. 자금 조달이 많이 있었고 코르도바에 이식 할 수있는 이점이 있습니다. 이제는 ExpressJS에 충실 할 것인지 유성으로 전환 할 것인지 확실하지 않습니다.ExpressJS 대 MeteorJS

요점 : 확장 성, 사용의 용이성, 개발 효율

+0

_ 웹 응용 프로그램을 개발하기 위해 MeteorJS를 배웠고, 나는 내 방식의 4 분의 1에 불과했습니다. 당신은 expressJS를 배웠다 고 생각합니까? –

답변

24

Express = Javascript로 빌드 된 Express = MVC 프레임 워크이며 Node에 의해 구동됩니다.

실시간 응용 프로그램을 빌드하는 프런트 엔드 및 백엔드 구성 요소가있는 Meteor = Full Stack.

Express를 사용하여 동일한 Meteor 구현을 작성하려면 MongoDB, Express, AngularJS W Node가 포함 된 평균 스택을 조사해야합니다. Meteor에서 MEAN 스택으로 할 수있는 것과 동일한 것을 만들 수 있습니다. 특히 AngularJS를 사용하여 훨씬 더 많은 학습을 할 것입니다. Express와 Angular는 Meteor의 템플릿 시스템과 Blaze를 사용하여 Meteor에서 처리됩니다.

나는 유성을 고수 할 것이다. 여전히 몇 가지 단점이 있지만 해결 방법이 있습니다. 그것은 당신이 짧은 시간에 함께 던질 수있는 놀라운 일입니다.

8

당신은 감자와 오렌지를 비교하는 것입니다. Expressjs는 백엔드이고 Meteor는 풀 스택입니다. 그런 비교는 불공평합니다!

나는 Meteor와 0.8 사이에서 작업 해 왔으며, 업그레이드 할 때 고통을 겪었습니다. 오래된 타사 패키지를 제거하는 등 아이디어를 얻었습니다. Meteor가 1.0에 도달했지만 모바일 구성 요소가 매우 준비가되어 있다고 생각하지 않습니다. github 문제를 확인하십시오.

유성기가 온라인 플랫폼을 구축 할 준비가되었다고 생각합니다. Mobile에서 잘 돌아 가지 않는다는 것을 알게되면, Meteor 애플리케이션을 유지 관리 할 수 ​​있고 API를 생성 할 수 있습니다. 또한 atmospherejs.com에서 패키지를 찾을 수 있습니다 (또는 iron : router 사용). 모바일 디바이스에서 사용할 API를 작성하십시오.

유성의 요점 정보 : 확장 성 - 유성을 확장 할 수는 있지만 좋은 기사는 아니지만 Kadira를 살펴 본다면 Arunoda는 그것을 계량 할 수있었습니다. 사용의 용이성 - 처음에는 유성 응용 프로그램을 작성하는 것이 상당히 쉽지만 장기적으로는 직면 한 것과 같은 몇 가지 문제에 직면하게됩니다. 개발 효율성 - 새로운 개발자 (심지어 숙련 된 사람조차도)가 Meteor를 얻지 못하기 때문에 팀에서의 경험이 그렇게 좋지는 않았지만 잘못된 아키텍처 설계 선택과 버그가있었습니다. 예 : 컬렉션 허용 및 거부 규칙을 사용하는 대신 Meteor 보안으로 변환되지 않는 모든 것을위한 방법. 심지어 일부는 클라이언트에게 전체 데이터베이스를 게시하고 다음과 같이 말합니다. 내 로컬 호스트에서 훌륭하게 작동합니다. D

Express 정보 : 경험이 거의 없지만 Meteor과 비교하면 전혀 불평하지 않습니다. 유성은 Expressj와 같은 목적이 아닙니다. http://mean.io/

4

Express.js는 유성는 매우 다르다 :

MEAN 스택과 비교하면 훨씬 더 의미가있다.

Meteor는 애플리케이션 개발 관점에서 볼 때 많은 결정 (좋은 결정)을하는 사람들에게 좋은 프레임 워크를 제공하려고합니다. 사용하려는 전송 라이브러리, 데이터 동기화 방법, 재사용 가능한 API, 보안, 데이터베이스와의 CRUD 작업 등이 포함됩니다.

대신 Meteor는 스택 전반에 걸쳐 통일 된 경험을 제공합니다. 백엔드, 전송, 인터페이스, 프론트 엔드, 툴 체인 구축에있어 너무 많은 전력 제어 기능을 가지고 있기 때문에 몽고 + 익스프레스와 즐겨 사용하는 프론트 엔드 프레임 워크에서 함께 붙이기가 훨씬 쉬울 수있는 많은 깔끔한 기능을 구축 할 수 있습니다 + socket.io + grunt/gulp.

최근 단일 페이지 응용 프로그램에서 좋은 사용자 환경을 제공하는 것이 얼마나 어려운지에 대한 Socket.io의 제작자 블로그를 읽어보십시오. http://rauchg.com/2014/7-principles-of-rich-web-applications/. 유성은 그 이상을 많이합니다. (적어도 지금 당장은 서버 쪽 렌더링과 예측을 제외하고).

모든 것을 올바르게 구현하기에 너무 낮은 수준의 추상화를 선택하면 얼마나 많은 보안 구멍이 생길 지 생각해보십시오.

+0

Meteor는 보안과 관련하여 여전히 많은 작업을해야하지만 Meteor가 빛나는 복잡한 스택을 관리하는 것이 중요합니다. –

+1

@ Mário : [Meteor가 보안과 관련하여해야 할 일] (http://wiki.dandascalescu.com/essays/Why_Meteor#6._Security)을 확장 할 수 있습니까? –