나는 오랫동안 웹 프로그래밍을 해왔고 어딘가에서 우리가 오늘하고있는 일을하는 이유 (또는 어떻게 이런 일을했는지)를 잃어 버렸는가?
나는 기본적인 ASP 웹 개발로 시작했고, 초기에는 디스플레이와 비즈니스 로직이 페이지에서 혼합되었습니다. 클라이언트 측 개발은 매우 다양했으며 (VBScript, 다양한 종류의 JavaScript) 서버 측 유효성 검사에 대해 많은 경고가있었습니다 (따라서 클라이언트 측 로직에서 멀리 떨어져 있음).
그런 다음 잠시 ColdFusion으로 옮겼습니다. ColdFusion은 아마도 태그를 사용하여 디스플레이와 비즈니스 로직을 분리 한 최초의 웹 개발 프레임 워크 일 것입니다. 그것은 매우 분명해 보였지만 매우 장황했으며 ColdFusion은 시장 수요가 높지 않았으므로 계속 진행했습니다.
그런 다음 ASP.NET 밴드 마차를 타고 MVC 방식을 사용하기 시작했습니다. 또한 Java가 엔터프라이즈 시스템의 상아탑 언어 인 것처럼 보이고 MVC 접근 방식도 시도했습니다. 나중에 ASP.NET은이 MVVM 디자인 패턴을 개발했으며 Java (정확히 J2EE 또는 JEE)도 MVC2 접근 방식으로 어려움을 겪었습니다.
그러나 오늘 내가 발견 한 것은 백엔드 프로그래밍이 흥분과 진보가 더 이상 존재하지 않는다는 것입니다. 또한 서버 측 기반 MVC 사례는 더 이상 사용되지 않는 것 같습니다 (더 이상 사람들이 실제로 JSTL을 사용합니까?). 현재 제가 진행하고있는 대부분의 프로젝트에서 JavaScript 프레임 워크와 클라이언트 측 개발이 모든 흥미롭고 혁신적인 발전이 이루어지는 곳임을 알게되었습니다.
서버에서 클라이언트 측 개발로이 이동이 발생한 이유는 무엇입니까? JEE 프로젝트 중 하나를 간단한 행 수로 수행했으며 Java보다 타사 코드가 더 많습니다 (타사 라이브러리 제외). Java 또는 C #과 같은 프로그래밍 언어를 사용하는 대부분의 백엔드 개발은 단순히 REST와 유사한 인터페이스를 생성하는 것이므로 디스플레이, 시각화, 데이터 입력 / 출력, 사용자 상호 작용 등의 모든 노력이 해결되고 있습니다. Angular, Backbone, Ember, Knockout 등과 같은 클라이언트 측 프레임 워크를 통해
jQuery 이전 시대에는 n-tier 개발에서 MVC의 M, V 및 C 사이에 명확하고 개념적 선이있는 많은 다이어그램을 보았습니다. Post-jQuery,이 선들은 어디에 그려 집니까? MVC와 MVVM은 클라이언트 측 JavaScript 코드에 모두있는 것처럼 보입니다.
내가 알고 싶은 것은 왜 우리가 서버 측 프로그래밍의 강조에서 클라이언트 측으로, 컴파일 된 언어 선호에서 스크립팅 언어로, 명령형에서 함수형 프로그래밍으로, 이러한 모든 전환이 동시에 일어난 것처럼 보입니다. ) 및이 전환 / 시프트로 해결 된 문제