나는 Drupal과 함께 Ember와 Backbone을 모두 사용했지만 당신이 생각하는 방식은 아닙니다.
Ember와 Backbone은 웹 응용 프로그램을 만드는 훌륭한 도구이지만 Drupal과 함께 사용하기에 좋은 도구는 아닙니다. 웹 앱을 만들 때 원하는 것은 가볍고 빠릅니다. 즉각적인 응답 시간이되면 사용자에게 빠른 느낌을 줄 수 있기를 바랍니다. 확장 성을 높이기 위해 가볍기를 원합니다. Drupal은 빠르지 않습니다. Drupal 부트 스트랩 전체는 웹 앱에 REST API를 제공하기 만하면 많은 다른 옵션과 비교하여 시간이 오래 걸립니다. Drupal은 PHP이므로 동시 사용자 수를 제한하는 RAM을 많이 사용합니다.
Drupal이 이렇게 나쁘면 왜 사용합니까?
Drupal의 탁월한 기능을 위해 Drupal을 사용해야합니다 (CMS). 과거에 웹앱이 필요한 프로젝트로 수행 한 작업은 Drupal을 사용하여 웹앱을 중심으로 CMS를 만드는 것입니다. 블로그, 컨텐츠 목록 및 좋아요와 같은 항목을 작성합니다. 또한 스키마 정의와 같은 백엔드 항목과 Drupal을 사용하는 것이 적합한 다른 항목을 정의하는 모듈을 개발하여 개발이 훨씬 쉬워졌습니다.
Drupal을 사용하여 웹 애플리케이션에 필요한 REST API를 작성하는 대신 Node.js를 사용하여 실제 REST API를 작성하고 웹 애플리케이션에 필요한 AJAX 호출을 확인했습니다. Node.js는이 작업을 수행하는 데 탁월합니다. 매우 빠릅니다 (물건 목록의 경우 30ms의 낮은 응답 시간). 서버의 JavaScript는 비동기 동작을 사용하기 때문에 매우 가볍습니다. Node.js 서버는 일반적으로 PHP가 100을 처리 할 수있는 수천 명의 동시 사용자를 처리 할 수 있습니다. 또한 Node.js는 JavaScript이므로 많은 것을 재사용 할 수 있습니다 코드 서버 및 클라이언트 측 JavaScript에서 클라이언트 측과 PHP에서 서버 측을 모두 구현하지 않고 문자 그대로 동일한 유효성 검사 코드를 작성할 수 있습니다. 몇 주 안에 뮌헨의 Drupal con에 가려면 node.js 프레젠테이션을 시청하는 것이 좋습니다..
따라서 개발자 인 경우 비슷한 설정을 수행하는 것이 좋으며 Drupal을 실제로 잘 사용하는 데만 사용하십시오. 간단한 웹 응용 프로그램을 만들고 싶지만 많은 사용자를 기대하지 않는 경우 Drupal을 백엔드로 사용하면 개발 시간에 도움이 될 수 있습니다.
Drupal 8 업데이트
Drupal 8이 출시되면서 위의 내용 중 일부는 여전히 유효하지만 이전과 동일하지는 않습니다. Drupal 8은 Node.js, Rails, Django 등과 같은 경량 툴이 아닌 Drupal 7과 같습니다. JavaScript 앱은 주로 다양한 서비스를 사용하므로 Drupal이이를위한 최고의 툴인지 여전히 고려해야합니다.
Drupal 8에서는 많은 것들이 개선되었습니다. 서비스는 훨씬 기본적이며 Symphony는 요청 / 응답을 주도합니다. Drupal 8은 고급 캐싱과 모든 훌륭한 기능을 통해 많은 흥미로운 가능성을 가지고 있습니다. 그러나 Drupal 8의 모든 장점에도 불구하고 여전히 경량 응용 프로그램보다 훨씬 무겁습니다. Drupal 8이 빠른 웹 서비스 제공 업체로 얼마나 성공적으로 사용될 수 있는지 말하기는 어렵습니다.
그럼에도 불구하고 모든 것이 말되고 행해지면서 나의 일반적인 추천은 동일하게 유지됩니다. Drupal 개발자이기 때문에 Drupal은 익숙하기 때문에 모든 것에 쉽게 사용할 수 있습니다. 안전하다고 느끼고 Drupal 은 거의 모든 용도로 사용할 수 있습니다. Drupal을 어떤 용도로든 사용할 수 있지만 그것이 모든 것에 가장 적합한 도구라는 것을 의미하지는 않습니다. 건전한 분석을 수행하고 IT 프로젝트에 사용하려는 도구의 강점과 약점을 이해하면 항상 큰 도움이 될 것이며 기대에 미치지 못하는 결과로 교착 상태에 빠지지 않도록 도울 수 있습니다. .