Ajax(Asynchronous JavaScript and XML)
웹 어플리케이션 제작을 위해, 다양한 기술을 조합 이용하는 개발 기법.
자체가 특정 기술을 말하는 것이 아닌, 함께 사용하는 기술의 묶음을 지칭하는 용어.
Ajax를 구현하기 위한 다양한 기술
- HTML
- CSS
- DOM
- JavaScript
- XML
- XSLT
- XMLHttpRequest
- JSON
Ajax의 특징
장점
- 비동기 요청 가능
- 페이지 이동 없이 고속으로 화면을 전환
- 수신 데이터 량을 축소, 클라이언트에게 처리를 위임 가능
단점
- Ajax를 쓸 수 없는 브라우저에 대한 문제
- Http 클라이언트의 기능이 한정되어 있는 상황
- 페이지 이동 없는 통신의 보안 문제
- 지원 Charset의 한정
- Debugging의 어려움
- 요청 남발에 의한 부하
Ajax의 역사와 보급
XMLHttpRequest는 Microsoft에서 Outlook Web Access 2000을 위한 개발에서 하나의 컨셉으로 시작된다. Microsoft에서 구현한 XMLHTTP 및 ActiveX 객체를 호출한다. 최초 Internet Explorer 5.0에서 Script 언어로 지원. 모질라 프로젝트는 2002년 Mozilla 1.0 에서 최초의 XMLHttpRequest를 호환하는 기술을 구현, 이후 Apple의 Safari 1.2, Opera 8.0가 뒤를 이었다.
Ajax의 보급
2005년 초 몇 가지 사례 이후 인기를 끌기 시작, 구글의 대화형 애플리케이션들에 의해 관심이 집중되었다.
Ajax의 XMLHttpRequest 외의 구현방법
- Hidden Frame에 의한 처리
- Netscape의 LiveConnect
- MS의 ActiveX
- MS의 XML Data Islands
- Adobe의 Flash Player
- Java의 Applet
Prototype.js 널리 알려져 있는 Ajax 프레임워크
http://www.prototypejs.org/
Script.aculo.us Prototype.js를 기반으로 하는 여러 인터페이스의 제공
http://script.aculo.us/
jQuery Prototype.js 만큼 널리 사용되는 Ajax 프레임워크
http://jquery.com/
jQuery UI jQuery를 기반으로 하는 여러 인터페이스의 제공
http://jqueryui.com/
Dojo 다양한 화면효과 및 위젯을 제공
http://dojotoolkit.org/
Google Web Toolkit 구글에서 배포중인 Ajax 프레임워크
http://code.google.com/intl/ko/webtoolkit/
ASP.NET AJAX MS에서 공식 개발된 ASP.NET 지원용 AJAX 프레임워크
http://www.asp.net/ajax/
YUI Yahoo User Interface
http://developer.yahoo.com/yui/
RIA (Rich Internet Application)
http://blog.naver.com/agapeuni/60071814239
리치 클라이언트(rich client)라는 용어는 1990년대 초 비주얼 베이직과 델파이 등을 사용하는 클라이언트 애플리케이션을 개발하는 것이 유행하면서 나타나기 시작했다. 이러한 클라이언트 애플리케이션이 수적으로나 인기면으로나 크게 늘어난 것은, 사용자가 "풍부한" UI 기능을 탑재한 애플리케이션을 매우 필요로 했기 때문이다. 이를 사용자 경험(rich experience)이라고 표현한다. 그리고 사용자 중심의 기능을 담고 있다. 다시 말해서 일상적인 개발 단위는 재활용하고, 개발 시간을 단축할 수 있게 해준다. <br />
RIA의 중요 포인트는 RCP에서 강조하는 부분과 차이가 없다고 생각한다.
참고
http://enc.daum.net/dic100/contents.do?query1=10XX148248
http://enc.daum.net/dic100/contents.do?query1=20X1594360
http://www.ashleyit.com/blogs/brentashley/category/ajax/
의문과 욕심으로 이것 저것 검색하여 찾아보게 되었다. 맞는 부분도 있고, 맞지 않는 부분도 있을 것 같다. 더러는 말도 않되는 말도 있을지 모르겠다. 하지만 이는 나의 주관적 시각이 크게 작용하는 것이고, 이 글을 읽는 사람 역시 그 자신 만의 시각으로 평가 할 것 이라 생각한다.
이미 Ajax라는 단어가 어느정도 단어나 용어로써 자리를 잡아가고 있지만 사전적의미? 교과서적인 해석? 이란것이 나에게 필요했었나 보다.
지금에 와서 Ajax란것 그냥 하면 되는 기술이다. 더욱 중요한 것은 이 Ajax라는 것을 통하여 어떤 모습으로 웹 어플리케이션을 구현하고, 그 구현과정과 구조를 생성하는 것인가 생각한다.
개발 방법도, 프레임워크도 많이 세상에 모습을 내놓고 있다. 때문에 내가 어설피 그 부분을 이야기 할 필요성은 없는 것 같다. 나 역시 여기저기서 눈동냥하여 개발하는 주제에 무슨....
Ajax, RIA라는 용어는 특정 기술을 칭하는 것이라기 보단, 특징을 보이는 집합들의 대명사와 같은 용어로 시각에 따라서 약간은 다양하게 해석되는 것이 아닌가 한다.
더욱 재미있는 것은 이 두 용어가 개발자의 시각보다는 기획이나 사용자의 시각에서 그 의미가 정리된것이 아닌가 하는 생각이다. 적어도 나의 시각에서는 말이다.
포스팅의 중요 포인트는 뭔일을 하든 유연하게 생각하고 행동해야 하지 않을까 라는 것이다. [출처] [Ajax] Ajax 기술, 특징, 역사, 프레임워크|작성자 주한길
부러지는 것 보단 굽히는 것이 낮다고 본다. 세상이나, 프로그램이나 서서 보는 것과 굽혀서 낮은 자세로 보는 것이 참 많이 다르단 생각이다.
Ajax 이야기를 꺼내면 보통 크로스 브라우징이나, 플래시 이야기로 많이 흐르게 된다. 그러다 보면 결국 MS를 까는 JAVA개발자가 좀 많은 편이다. 적어도 내 주변에는 말이다. 하지만 난 좀 다르다. 아니 정확하게 말하면 내가 깔수 있는 상대는 아닌것 같다. 쉽게 이야기 하면 부끄러워 까지도 못하겠다.
까일만큼 많은 것을 이룩했고, 안티 수 만큼이나 훌륭한 것이 많이 있다고 생각한다.
'Ajax' 카테고리의 다른 글
[Ajax] Ajax 정의, 동작원리, 기술 (0) | 2015.07.09 |
---|---|
[Ajax] Ajax 간단한 예제 (helloAjax.html) (0) | 2015.07.09 |