현재까지 Web2.0의 개발 방법의 기술적 근간은 Ajax라고 할 수 있게죠.
이 Ajax라는 것이 개념적으로는 MS가 1990년도 말에 IE에 자동화 객체 형태로 지원을 했었는데. 이게 지금의 Ajax라는 형태가 된겁니다.
현재 주류를 이루는 웹이라는 것 자체가 상당히 비효율적입니다. 한번 요청에 필요없는 페이지 레이아웃 정보까지 가져와야 하니까 말입니다. 그래서 Ajax에서는 기본적으로 최소한의 데이터만을 브라우저와 서버사이에서 주고 받는 것입니다.
1. Ajax는 ECMAScript(JavaScript)를 사용하고 있습니다. 그러므로 Script 에 대해 잘 아셔야 합니다. 특히 파이어폭스, IE 에 공통적으로 적용되는 스크립트를 사용하시려면 DOM에 대해서도 알아두셔야 합니다.
2. Web Browser 와 Server 사이의 Message 역할을 하는 XML 이나 JSON에 대해서도 알아두셔야 합니다.
3. Server 에서 서비스를 제공할 기술에 대해서도 알아두셔야 합니다. WebService 와 같은 스펙을 사용할지 아니면, JSP,ASPX,PHP들을 사용할 지에 대해서도 결정하셔야 합니다.
4. Ajax로 구현시 필요한 라이브러리를 결정해야 합니다. 여러가지 라이브러리가 있지만 요새 각광을 받기 시작한 것들은 Microsoft Atlas(ASP2.0 Ajax Library, ASP 2.0 Ajax Library Extension)와 Ruby On Rails 등이 있습니다. 그 밖에 여러 가지 라이브러리 들이 있으니 검토해 보시고 선택하도록 하세요.
Ajax를 처음 공부하시는 분들은 Ajax가 쉬울 거라고 생각하시는 데, 제가 경험해 본 바로는 쉽지 않습니다.
1. Script 를 디버그 할 수 있는 툴들이 부족하다는 것입니다. 코드의 길이가 길어지게 되면 디버그 하기가 쉽지 않습니다.
2. 데이터만 주고 받기 때문에 레이이웃 표현을 DOM에 의존해 만들어줘야 하는 경우가 많다.-> DOM으로 이쁜 UI를 만들어 추가하는 것도 노가다 입니다. 물론 XML와 XSLT를 사용할 수 도 있겠지만 그것도 일입니다.
3. Ajax가 쉽다고 생각하기 때문에 보안적으로 취약한 애플리케이션을 제작할 수 있습니다.-> Ajax를 사용할 경우 서버를 공격하기가 용이합니다. 그러므로 보안적인 문제를 고려해야 합니다.
4. 현재 웹프로그램이 한 페이지에 하나의 기능을 수행하는 반면, Ajax를 사용한 애플리케이션은 여러가지 기능을 사용해야 할 경우가 많기 때문에 문제의 복잡도가 증가합니다. -> 2001년도 웹 제품 카타로그를 Ajax의 원형인 MS의 비동기 처리를 사용해 구현해 봤는데, 최종 완성물의 복잡도가 상당히 높았습니다.
추천하고 싶은 책은 Ajax in Action 이라는 책입니다. 이 책보다 쉬운 책으로는 Foundation of Ajax라는 책이 있구요.이외의 책들은 더 쉽다고 생각하셔도 무방할 듯 하네요.
생각나는 대로 적어봤는데... 그저 제 경험과 여기저기서 본 내용을들을 적어 봤습니다.