programing

Sails.js 대 Meteor-둘 다의 장점은 무엇입니까?

nasanasas 2020. 10. 9. 11:16
반응형

Sails.js 대 Meteor-둘 다의 장점은 무엇입니까?


저는 Nodejs와 그 프레임 워크에 대해 많이 읽었으며 최근에 첫 번째 전체 자바 스크립트 프론트 엔드 (Angularjs 사용)를 완료했습니다.

다음 두 가지 프레임 워크 중 하나를 사용하여 다음 애완 동물 프로젝트가 Nodejs 모험이되기로 결정했습니다.

나는 두 가지 모두에 대해 읽었지만 여전히 그 차이점을 파악할 수 없으며 왜 다른 하나를 사용하기로 선택해야합니까? 그러니 최고의 세일즈맨 모자를 쓰고 틀을 골라 팔아주세요.

애완 동물 프로젝트에 필요한 몇 가지 기능은 다음과 같습니다.

  • 라이브 스코어
  • Reddit과 유사한 스레드, 실시간
  • Wikipedia와 유사한 페이지 에디션
  • 사용자 / 역할

Meteor에 대해 말할 수는 없지만 Sails를 만들었 기 때문에 Sails에 대한 약간의 배경 지식을 제공 할 수 있습니다.

tldr; Sails는 웹의 모든 문제에 대한 만병 통치약은 아니지만 Node.js는 그렇다고 믿습니다. Sails의 목표는 node.js에 구축 된 완전하고 확장 가능하며 시작 및 엔터프라이즈 친화적 인 애플리케이션을 개발하기위한 실용적인 프레임 워크를 제공하는 것입니다. 저는 "모든 것에 Node.js를 사용할 수 있습니까?"라는 질문으로 Balderdash시작했습니다 . 돛이 답입니다.


우리에서 새 문서 :

물론 Sails는 웹 프레임 워크입니다. 그러나 물러서십시오. 그게 무슨 뜻입니까? 때때로 "웹"을 지칭 할 때 "프런트 엔드 웹"을 의미합니다. 웹 표준, HTML 5 또는 CSS 3과 같은 개념을 생각합니다. 그리고 Backbone, Angular 또는 jQuery와 같은 프레임 워크. Sails는 "그런 종류"의 웹 프레임 워크가 아닙니다. Sails는 Angular 및 Backbone과 잘 작동하지만 이러한 라이브러리 대신 Sails를 사용하지 않습니다.

반면에 "웹 프레임 워크"에 대해 말할 때 "백엔드 웹"을 의미하기도합니다. 이것은 REST, HTTP 또는 WebSockets와 같은 개념을 불러 일으 킵니다. Java, Ruby 또는 Node.js와 같은 기술을 기반으로합니다. "백엔드 웹"프레임 워크는 API 구축, 데이터베이스와 상호 작용, HTML 파일 제공, 수십만 명의 동시 사용자 처리와 같은 작업을 수행하는 데 도움이됩니다. Sails는 "그런 종류의"웹 프레임 워크입니다.

몇 년 전 저는 Node.js를 모든 것에 사용하겠다고 약속했습니다 . 첫눈에 반했습니다 . 저는 ExpressSocket.io 위에 Sails를 구축 했습니다. 왜냐하면 그것들은 각각의 사용 사례에 대해 가장 잘 확립 된 노드 모듈 이었기 때문입니다. Sails의 요청 처리 코드는 Socket.io에 대한 암시 적 지원의 추가 이점과 함께 Express와 호환됩니다.

Sails는 Angular, Backbone, iOS / ObjC, Android / Java에서 프런트 엔드를 구축하거나 다른 웹 서비스 또는 사용자가 사용할 원시 API를 제공하기 위해 보유한 모든 전략과 호환되도록 설계되었습니다. 개발자 커뮤니티. 접근 방식을 변경하거나 (예 : Backbone에서 Angular로 전환) 새로운 프런트 엔드를 완전히 구축 (예 : Windows Phone 기본 앱 구축)하는 경우에도 Sails 앱은 계속 작동합니다. 이미 알고 계시 겠지만, 어떤 사람들은이 접근 방식을 서비스 지향 아키텍처 (SOA)라고 부릅니다 ( Joe McCann 은이 주제에 대한 훌륭한 자료를 가지고 있습니다.)

같은 맥락에서 Sails는 표준 MVC 구조, 깨끗한 API를 생성 할 수있는 기능, 개방적이고 구성 가능하고 확장 가능하며 심지어 스왑 가능한 핵심 모듈과 같은 웹 서버 구축을위한 다른 친숙한 규칙을 유지합니다. 이것은 Sails가 사용자의 필요에 따라 필요한만큼 낮은 수준으로 맞춤화 될 수 있음을 의미합니다.

2013 년에 프레임 워크는 엄청난 인기를 얻었으며 컨설팅 비즈니스도 성장했습니다. 나머지 핵심 메인테이너들과 저는 백엔드 개발을 가능한 한 빠르고 간단하게 만드는 데 초점을 넓혔습니다. 후크 (플러그인), 테스트 및 문서와 같은 Sails의 관련 측면은 모두 지난 한 해 동안 우리의 핵심 팀과 (계속 확장되는) Sails 커뮤니티의 노력 덕분에 먼 길을 걸어 왔습니다. 아직 작업중인 로드맵 항목이 많이 있지만 Sails는 현재 Node에서 안정적이고 유지 관리 가능한 MVC 개발을위한 최상의 옵션이라고 생각합니다. 나머지 팀과 저는 지속적인 유지 관리 및 기능 개발에 전념하고 있으며 모든 고객 프로젝트에 사용하기 때문에 아무데도 가지 않습니다.

저는 Sails를 최고의 웹 프레임 워크로 만들기 위해 최선을 다하고 있지만 Node.js를 희생하지 않았습니다. 핵심 팀과 저는 Node 생태계의 향상에 끊임없이 전념하고 있으며, 이는 NPM을 수용하고 기존 Node 기술과 모범 사례를 활용하는 것을 의미합니다. 더 합리적 일뿐만 아니라 우리가 Node.js 개발자이기 때문입니다. 우리의 모든 노력에 대한 동기는 Node를 대체하는 것이 아니라 접근성을 높이는 것입니다. 따라서 이상한 평행 우주에서 Sails를 다른 언어로 변환하거나 Sails를 완전히 버리지 만 여전히 Node를 사용할 수있는 Faustian 선택권이 주어진다면 후자를 선택합니다.


추가 자료 :

FAQ | 돛 101 | 오리지널 스크린 캐스트 | 기여 가이드 | 스택 오버플로

Google 그룹 | 로드맵 | IRC : Freenode의 #sailsjs | 빌드 상태


Meteor로 몇 가지 프로젝트를 만들었고 아직 Sails와 함께 일하지 않았습니다. 그래서 내 의견은 확실히 편향 될 것이고 어쨌든 도움이되기를 바랍니다.

프런트 엔드 구축

Meteor는 곧 출시 될 0.8 릴리스에 포함될 Blaze-라는 자체 프런트 엔드 프레임 워크를 제공합니다. Meteor는 컬렉션의 데이터를 뷰에 바인딩하는 작업을 처리합니다. 이 때문에 뷰를 업데이트하는 것에 대해 걱정할 필요가 없습니다.

반면 Sails는 백엔드 프레임 워크 만 제공하며 사용자는 자체 프론트 엔드 프레임 워크를 가져와야합니다.

대부분의 Node.js 프레임 워크와 달리 Meteor는 동기식입니다.

Meteor는 루프에서 실행되며 Node.js 패키지를 사용 하려면 Meteor에서 제대로 작동하는지 확인하기 위해 몇 가지 추가 작업수행 해야합니다.

Sails는 간단한 MVC Node.js 프레임 워크 인 것처럼 보이므로 살펴볼 때 너무 놀라운 것은 없습니다.

Meteor와 함께 MongoDB를 사용해야합니다.

예, Meteor와 함께 다른 데이터베이스를 사용할 수 있지만 MongoDB와 거의 동일한 지원이 없습니다. Sails의 경우 두 개의 데이터베이스에 대한 ORM이있는 것처럼 보입니다.

공연

For large scale applications Meteor may not perform well. There is a lot of work being done to tackle this issue and by the end of 2014 we can expect there to be scaling solutions for Meteor.

Stability

Meteor is still very fresh and has not hit 1.0 yet. You should expect some changes to be made over the next couple of releases that will break backwards compatibility. If you are getting started with it ASAP then you might want to consider using the 0.8-rc0 branch. That being said, some of the features in the pipeline are really great and will make a 1.0 version very enticing.

Final thoughts?

I like Meteor because of its idiosyncrasies. You will have to learn the Meteor way of doing things but once you start doing it, you feel like you've drunk the kool-aid. Because of the way data is bound to views the lines between the server and client are not distant. Meteor represents a paradigm shift in application architecture and if you haven't tried it yet I would recommend it.

PS Checkout the roadmap to get a feel for what is coming up.


I can only give an opinion on sails. I am an extremely experienced Javascript developer and have been building embedded set top box applications built on Javascript since the 90's.

Things that worked really well - Getting started was great and I felt very supported by the published materials - The learning curve was very short, and there is a healthy community behind sails - After the initial learning it is very easy to be creative quickly

Things that could be improved - Complex data structures are tricky to implement - Passport.js integration was painful as there is no clean reference materials

Recommendations - Ponzi coder has a great tutorial and It really helped me get going https://www.youtube.com/user/ponzicoder - Knowing more about express and waterline will help when you attempt more complex data challenges

Overall I would recommend sails.


I currently use Meteor and have not used Sails.js.

Meteor has been exceedingly pleasant to work with and I think it would be an excellent choice for realtime web apps. Regarding users/roles, you can check out the integrated Accounts package and also search Atmosphere for community-contributed roles/permissions packages.

Ultimately I would recommend trying a small project with both technologies and seeing which you like better.

참고URL : https://stackoverflow.com/questions/22202286/sails-js-vs-meteor-what-are-the-advantages-of-both

반응형