클라이언트 측 웹에서 JS의 출현이 몇 년 동안 몇 가지 핵심 포인트로 오해되었다고 생각하기 때문에 이에 대한 업데이트를 추가 할 것입니다.
아약스 아니었다
나는 Ajax가 JS를 언어로 이해하는 데 진화하는 데 중요하지 않다고 말하지는 않지만 Ajax라는 용어가 만들어지기 훨씬 전에 클라이언트 측 브라우저 지배에 대한 싸움은 끝났다.
그것이 도시에서 유일한 게임 이었기 때문이 아닙니다.
Java 애플릿, Flash 및 VBScript가있었습니다. 나는 90 년대에 다른 스크립팅 옵션이 있다고 들었습니다 (그러나 플러그인 IIRC가 필요했습니다). 자바는 대단한 인기를 얻었지만 애플릿은 실패였다. 그들은 추악하고 종종 보안-스위스 치즈이지만 더 중요한 것은 나중에 나중에 설명 할 이유로 Java가 적합하지 않다고 생각합니다. 플래시는 매우 인기가 많았고 몇 년 동안 강력한 발판을 마련했지만 플래시에 SEO 옵션이 있었지만 플래시 사이트는 일반적으로 사용되지 않았기 때문에 플래시 사이트를 찾기가 매우 어려웠습니다. 지금도 대부분의 사람들은 정기적으로 플래시를 업데이트하여 영화를 볼 수 있지만 이것이 실제 아킬레스 건입니다. 브라우저의 독자적인 기술은 성가신 일입니다. 물론 VB는 IE에서만 작동합니다.
적시에 적절한 장소는 관련이 있지만 전체 답변은 아닙니다
그렇습니다. 웹 물결이 없다면 우리는 JavaScript 나 언어를 널리 사용하는 것처럼 보지 못했을 것입니다. 아니면 우리는 ...
결국 문제 영역을위한 완벽한 도구가되었습니다.
나는 2000 년경에 다음과 같은 문제가 있다고 말했습니다.
- IE와 Netscape는 동일한 DOM API 및 CSS 표준에 참여함으로써 좋은 플레이를 시작하기로 합의했으며, 그 이후로 관리가 가능해지기 시작한 기존의 JS 크로스 브라우저 문제를 처리해야했습니다. jQuery post IE8과 같은 JS DOM 정규화 도구를 사용하지 않고
- 프로그래머가 더 이상 아무것도없이 문에 나타나기 위해 적절한 급여를 줄 때 post..com-bubble-burst 게임을 개선하고자하는 프로그래머로서 반드시 헤비급이 아니었던 완전히 새로운 세대의 웹 개발자 / 디자이너가있었습니다. 기본적인 HTML 활용 능력과 일부 포토샵 기술보다
- 도시에이 새로운 CSS 키드가 있었는데, 궁극적으로 DHTML, (보다 적절하게는) DOM 스크립팅, (이제 부적절하게) HTML5 (zomghtml5!)에 대한 흥미로운 가능성을 제공했습니다.
따라서 우리는 클라이언트 측에서 휴대용 / 재사용 가능한 구성 요소를 갖춘 고급 앱을 실제로 구성하고 설계 할 수있는 기능을 제공하면서도 잘 모르는 사람들이 액세스 할 수있는 언어가 필요했습니다. 버튼을 클릭했을 때 나타나거나 다시 나타납니다.
또한, MS는 때때로 부적절하고 / 무능한 그리고 / 또는 비 경쟁적-실제 연습-스키밍 짐승 이었지만, 비 규격 DOM API 구현을 실제로 10 년 동안 제대로 건드리지 못했습니다. IE8에서 원래 XHR 객체 및 querySelectors와 같은 것을 추가하십시오.
주목해야 할 중요한 점은 2005 년 무렵에 브라우저 간 문제 처리와 관련된 복잡성을 완전히 파 묻어 JavaScript 측면에서 더 이상 심각한 문제가되지 않았다는 것입니다. CSS2를 제대로 지원하지 못하면 상당히 고통 스러웠습니다. 문제의 양과 깊이에 대한 아이디어를 얻으려면 quirksmode.org를 확인하는 것이 좋습니다 . 나는 이것이 VB가 아니라 Java의 많은 라이브러리에서 매끄럽고 매끄럽게 달성 할 수있는 위업이라고 생각하지 않습니다. 그리고 완전히 새로운 것이되어서 전체 문제를 회피하는 플러그인 전략으로는 확실히 아닙니다 귀찮은 종류.
UI에 많은 의미를 부여하는 다른 언어 기능 :
퍼스트 클래스 함수 : 제 경험상, 함수를 퍼스트 클래스로 만드는 언어보다 비동기 처리 및 이벤트 중심 패러다임에 더 적합한 것은 없습니다. UI 작업에서는 두 가지 문제를 정기적으로 해결합니다.
동적 유형 : 캐스팅 및 유형 검사는 JavaScript에서 매우 드물게 필요하므로 코드를 간결하고 간결하게 유지하는 데 도움이되었습니다. UI 문제는 매우 복잡하고 복잡해질 수 있습니다. 코드를 엄격하게 유지하고 데이터 흐름을 완전히 명확하게 유지하는 것은 코드를 이해하고 수정 / 유지 관리하는 데 중요합니다.
그것은 보호 주의자가 아닙니다. 몇 년 동안 누군가가 자신의 실수와 다른 사람이 코드 구성으로 강하고 유연하지 않고 원래 의도와 혼동하는 것을 불가능하게하여 코드로 할 수있는 바보 같은 일로부터 자신을 보호해야한다고 설교했습니다. 저자와 함께 많은 사람들이 듣고 있습니다. 나는 그들이 항상 틀렸다고 말하지는 않을 것입니다 (생각할 수도 있습니다).하지만 그것은 웹 UI에 대한 잘못된 접근이라고 말할 것입니다. 우리가 클라이언트를 크랭크 아웃하고 유지 관리하며 수정 한 현상이라고 생각합니다. 사이드 GUI는 훨씬 더 빠른 속도로 그러한 작업보다 훨씬 쉬워졌으며 과거에는 더 제한적인 언어로 수행되었습니다. 빠르고 쉽게 변경 사항을 변경할 수 있기 때문에 엄청난 양의 간접 및 추상화 오버 헤드가 필요없는 동적 / 유체 아키텍처 체계를 훨씬 쉽게 만들 수있어 궁극적으로 코드에서 지옥이 어떤 일이 일어나고 있는지 쉽게 알 수 있습니다. 예외를 훨씬 더 깨끗하게 비우거나 처리합니다. 다른 철학에서 생각하는 것보다 훨씬 적은 코드로 당신이하는 모든 일에 더 직접적 일 수 있도록하는 단순한 미덕을 통해 유지하는 것이 더 쉽습니다.
JS는 어떻게 대중화 되었습니까? 그것은 작업 시간과 시간에 대한 훌륭한 도구임을 입증했습니다. 우리가 "고착 된"언어가 아닙니다. 그것은 대중적인 언어에서 일반적으로 많은 발전을 가져 왔을 수있는 언어입니다. 그리고이를 위해, Scheme이 Java를 좋아하는 것보다 당면한 문제에 맞는 디자인 영감을 얻었 기 때문에 아이디어를 그의 머리 속에 넣는 데 도움을 준 Brendan Eich와 모든 동시대 인들에게 감사 할 수 있습니다.