우선, 위 진술의 저자는 웹 사이트 개발에 대해 이야기하고 있음을 명심하십시오. 그래서 그는 프레젠테이션 개발 에 대해 걱정하고 있으며 스칼라가 좋은 선택이 아니라고 생각합니다 ...
나는 웹 개발에 대한 좋은 경험을 가지고 있습니다. 저는 디지털 에이전시에서 5 년 이상 독점적으로 8 년 동안 일했습니다.
그렇습니다. 제 경험 에 따르면 프레젠테이션 레이어 에서 정적으로 유형이 정해지고 컴파일 된 언어 가 큰 방해가 될 수 있습니다. 비즈니스 요구 사항보다 훨씬 자주 내용을 지속적으로 변경해야합니다. 그리고 이것은 보통 별개의 팀 ( "프론트 엔드"개발자)이 수행해야합니다. 그들은 일반적으로 HTML, JavaScript, 웹 표준, CSS에 대해 많이 알고 있지만 Java 및 C #과 같은 서버 측 언어에 대해서는별로 알지 못합니다. 또한 템플릿의 모든 종류의 변경 사항을 즉시 사용할 수 있다고 가정합니다 . 컴파일 및 유형 오류에 사용되지 않습니다. 정적으로 유형이 지정된 언어는 데이터 액세스 및 비즈니스 규칙과 같은 어렵고 복잡한 요구 사항에는 적합하지만 인터페이스 개발에는 적합하지 않습니다.
실제로 Velocity 와 같이 전문적이고 해석 된 템플릿 언어를 사용하면 얻을 수있는 주요 이점 중 하나입니다 . 프리젠 테이션 계층 개발자에게는 사용하기 쉽고 강력하며 유연성이 충분합니다. 그리고 서버 측 사람들은 다른 곳 어디에서나 정적이고 정적으로 유형이 지정된 언어를 자유롭게 사용할 수 있습니다 ...
그러나 나는 또한 Scala가 다소 다르다는 것에 동의합니다. 동시에 Java보다 훨씬 덜 장황하고 표현력이 뛰어나서 프레젠테이션 개발에 사용될 수 있다고 생각합니다 . 따라서 템플릿 언어로 성공적으로 사용될 수 있습니다. 또한 Play 와 같은 프레임 워크 (모든 변경 후에 웹 사이트를 자동으로 컴파일)와 결합 할 수 있다면 IMHO가 승자가 될 수 있습니다. 그럼에도 불구하고 Play조차도 Groovy와 같은 (동적) 템플릿 언어를 선택했는데 이는 좋은 징조가 아닙니다.
요약하자면, 스칼라의 문제는 컴파일 된 사실과 훨씬 관련이 있습니다. 사실 그 타입 추론 메커니즘은 당신이 만드는 거의 가 정적으로 입력 된 잊는다.
(내 영어에 대해 죄송합니다. 문제가 명확하지 않은 경우 알려 주시면 해결해 드리겠습니다.)
Button
가WebControl
포함되어 있고 모든 컨트롤이 파생 된 경우인지 확인할 필요가 없습니다.