AJAX 입문 소스 converting
IT IS IT/web
2006/02/20 14:34
요즘 한빛미디어의 'Ajax 입문'에 나왔던 소스들을 개인적으로 asp로 converting(이랄 것도 없지만..)하는 작업을 해보고 있습니다.. asp 소스를 돌릴 서버를 호스팅하고 있지 않아서 로컬에서 작업을 해보는 중입니다.. 재밌는 것은 약 2,3년 전 티켓판매시스템을 RIA로 개발하는 작업을 한적이 있는데 그 때와 지금 작업이 매우 흡사한 느낌이 든다는 것입니다..
플래시기반의 RIA와 Javascript 기반의 AJAX는 기술적으로 매우 유사한 부분이 많습니다.. 데이터 전송으로 xml이나 ascii 기반의 text를 이용하는 것이나 client side의 스크립트를 이용하여 전송처리를 비롯한 로직을 구현하는 것, 화면 리프레쉬 없이 데이터갱신을 하는 것 등이 그런 부분들인데 간단하게 표로 정리하자면 아래와 같습니다..
AJAX의 데이터 처리방법에 대해서는 관심있는 개발자들이라면 다들 알고 있으리라 봅니다.. 클라이언트 사이드에서 데이터를 포함한 이벤트가 발생하면 그 데이터를 서버단으로 XMLHttpRequest 같은 메소드를 이용하여 전달하고 서버로부터 결과값을 받아오면 이에 대한 이벤트 처리를 한 후 다시 클라이언트에 표시하는 방식인데 플래시 내부에서 actionscript가 처리하는 방법이 AJAX의 그것에 비해 구현방법면에서 큰 차이가 없습니다..
AJAX를 큰 범위내에서는 RIA에 포함시키는 분류도 있어서 사실상 큰 차이가 없는 것이 맞는 말이지만 구현기법이나 UI적 측면에서는 AJAX가 좀더 가볍게 돌아가는 느낌이 드는 반면 UI측면에서 좀더 rich한 모습은 플래시 기반의 RIA쪽이 아직은 우세인 듯 싶습니다.. 하지만 얼마전 yahoo! 에서 발표한 UI 가이드라인이나 웹디자인 패턴 라이브러리를 보면 조만간 AJAX가 RIA가 차지하고 있는 자리를 잠식할거라는 예상도 어렵지 않게 할 수 있습니다.. 그 예상에 대한 근거 중 하나를 대라고 하면 결정적으로 AJAX가 보유하고 있는 장점가운데 화면구성 시 활용하는 UI객체들이 브라우저 기반의 HTML객체들이라는 것입니다.. 플래시기반의 RIA에서 HTML객체와 유사한 UI를 구현하려면 내장객체를 사용하거나 직접 코딩으로 기능을 구현해야 하는데(객체 디자인은 별개로 한 전제입니다) 내장객체를 사용하면 애플리케이션의 무게가 너무 무거워지고 직접구현은 생각처럼 쉽게 만들기가 어렵습니다..
그러나 아직은 서로간에 장단점들이 있기 때문에 상호보완적으로 운영하는 측면이 더 강조되야 하지 않을까 싶습니다.. actionscript 내부에서도 외부와의 클라이언트 이벤트 처리를 위해 javascript 관련 내장함수를 구현해 놓은 것도 그런 면의 연장선이 아닌가 합니다..
플래시기반의 RIA와 Javascript 기반의 AJAX는 기술적으로 매우 유사한 부분이 많습니다.. 데이터 전송으로 xml이나 ascii 기반의 text를 이용하는 것이나 client side의 스크립트를 이용하여 전송처리를 비롯한 로직을 구현하는 것, 화면 리프레쉬 없이 데이터갱신을 하는 것 등이 그런 부분들인데 간단하게 표로 정리하자면 아래와 같습니다..
AJAX의 데이터 처리방법에 대해서는 관심있는 개발자들이라면 다들 알고 있으리라 봅니다.. 클라이언트 사이드에서 데이터를 포함한 이벤트가 발생하면 그 데이터를 서버단으로 XMLHttpRequest 같은 메소드를 이용하여 전달하고 서버로부터 결과값을 받아오면 이에 대한 이벤트 처리를 한 후 다시 클라이언트에 표시하는 방식인데 플래시 내부에서 actionscript가 처리하는 방법이 AJAX의 그것에 비해 구현방법면에서 큰 차이가 없습니다..
AJAX를 큰 범위내에서는 RIA에 포함시키는 분류도 있어서 사실상 큰 차이가 없는 것이 맞는 말이지만 구현기법이나 UI적 측면에서는 AJAX가 좀더 가볍게 돌아가는 느낌이 드는 반면 UI측면에서 좀더 rich한 모습은 플래시 기반의 RIA쪽이 아직은 우세인 듯 싶습니다.. 하지만 얼마전 yahoo! 에서 발표한 UI 가이드라인이나 웹디자인 패턴 라이브러리를 보면 조만간 AJAX가 RIA가 차지하고 있는 자리를 잠식할거라는 예상도 어렵지 않게 할 수 있습니다.. 그 예상에 대한 근거 중 하나를 대라고 하면 결정적으로 AJAX가 보유하고 있는 장점가운데 화면구성 시 활용하는 UI객체들이 브라우저 기반의 HTML객체들이라는 것입니다.. 플래시기반의 RIA에서 HTML객체와 유사한 UI를 구현하려면 내장객체를 사용하거나 직접 코딩으로 기능을 구현해야 하는데(객체 디자인은 별개로 한 전제입니다) 내장객체를 사용하면 애플리케이션의 무게가 너무 무거워지고 직접구현은 생각처럼 쉽게 만들기가 어렵습니다..
그러나 아직은 서로간에 장단점들이 있기 때문에 상호보완적으로 운영하는 측면이 더 강조되야 하지 않을까 싶습니다.. actionscript 내부에서도 외부와의 클라이언트 이벤트 처리를 위해 javascript 관련 내장함수를 구현해 놓은 것도 그런 면의 연장선이 아닌가 합니다..
AJAX..
IT IS IT/web
2005/11/02 12:45
최근 웹기반 기술 중 이슈가 되는 것들 중 하나가 바로 AJAX(아약스라고 읽음)라는 기술이다..
AJAX는 Asynchronous JavaScript and XML의 줄임말로 말그대로 비동기적으로 데이터처리를 하여 웹상의 페이지 호출을 최소화 시키고 사용자로 하여금 인터렉티브한 UI(User Interface)를 경험할 수 있게 해주는 기술을 말한다..
사실 AJAX는 기존의 웹기반 language들을 이용하여 구현되어지기 때문에 새로운 기술이라고 부르기는 애매한 부분이 없지 않다..
일반인들이 AJAX를 제일 가깝게 접해볼 수 있는 곳은 네이버 검색창인데 얼마전부터 네이버 검색창에 검색어를 입력했을 때 해당 검색어와 동일하거나 유사한 단어의 목록이 보여지는 것들을 다들 경험했을 것이다.. 바로 이 목록표시가 AJAX를 이용한 부분으로 검색결과에 대한 처리가 페이지 로딩없이 실시간으로 이루어진다는 것이 최대 장점이다..
그동안 웹상에서의 UI 개선에 대한 노력은 꾸준히 이어져왔다. 그러한 결과들로 접할 수 있는 것들로 DHTML이나 RIA(Rich Internet Application) 등을 들 수 있다..
이러한 기술들이 가지고 있는 공통분모가 있는데 그것은 바로 사용자로 하여금 보다 더 인터렉티브하고 풍부한(rich) 인터페이스를 경험토록 하는 것이다..
사실 웹기반 애플리케이션의 약점 중 하나로 꼽히는 것이 단절성과 thin application 이라는 것이다. 이는 초창기 웹과 클라이언트 자원의 한계로 인해 어쩔 수 없이 그렇게 발전이 되었던 것이었겠지만 C/S 환경에 비해 상대적으로 열악하게 보였던 점은 사실이다..
그러나 최근 몇년동안 x-internet을 필두로 한 RIA기반의 웹기반 애플리케이션들이 속속 등장하고 단순해보이기만 했던 웹 애플리케이션들이 이제는 일정부분 C/S의 영역을 대체하고 있는 것들을 주변에서 볼 수 있다.. 나 역시 몇년전 RIA기반의 영화,공연 판매시스템을 개발한 적이 있는데 이 판매시스템은 기존의 정적이었던 스크립트 기반의 판매시스템에 비해 사용자로 하여금 보다 더 풍부한(rich) UI를 접하게 하면서도 C/S에 비해 유지보수가 손쉽게 이루어지는 장점들을 경험한 적이 있다..
AJAX는 UI측면에서 RIA와 흡사한 부분들이 많이 있다.. 예를 들어 데이터 전송방식으로 XML을 활용한다거나 사용자로 하여금 실시간으로 보여지게끔 데이터 전달이 이루어진다는 것들이 바로 그것이다..
하지만 RIA나 기타 다른 기술들이 플랫폼에 종속적인 모습을 보이는 것에 비해 AJAX는 AJAX엔진이 이식될 수 있는 환경이라면 어느 플랫폼에서도 돌아갈 수 있다는 것이 다른점이라고 할 수 있다..
AJAX는 이제 막 일어나려고 걸음마 연습을 하는 아기처럼 보여진다.. 이 기술이 보편화될 때 쯤 과연 웹 애플리케이션의 모습은 어떻게 변하게 될까가 사뭇 궁금하다.. 그러나 어느 기술이든 결국은 사용자의 편의를 위해 발전되어 나갈 것이고 과연 AJAX를 이용한 기술이 사용자에게 얼마나 많은 편의를 제공할 수 있도록 응용되느냐가 앞으로의 AJAX의 나아갈 길을 제시할 것으로 보인다..
일반인들이 흥미있게 볼 수 있는 AJAX 관련 사이트를 하나 소개하고자 한다.. FlyakiteOSX 라는 사이트인데 웹상에서 Mac OS X(ten 으로 읽음)을 구현한 사이트로 브라우저 옵션을 전체보기로 하면 Client OS와 매우 유사한 경험을 할 수 있다.. ^^
FlyakiteOSX
AJAX는 Asynchronous JavaScript and XML의 줄임말로 말그대로 비동기적으로 데이터처리를 하여 웹상의 페이지 호출을 최소화 시키고 사용자로 하여금 인터렉티브한 UI(User Interface)를 경험할 수 있게 해주는 기술을 말한다..
사실 AJAX는 기존의 웹기반 language들을 이용하여 구현되어지기 때문에 새로운 기술이라고 부르기는 애매한 부분이 없지 않다..
일반인들이 AJAX를 제일 가깝게 접해볼 수 있는 곳은 네이버 검색창인데 얼마전부터 네이버 검색창에 검색어를 입력했을 때 해당 검색어와 동일하거나 유사한 단어의 목록이 보여지는 것들을 다들 경험했을 것이다.. 바로 이 목록표시가 AJAX를 이용한 부분으로 검색결과에 대한 처리가 페이지 로딩없이 실시간으로 이루어진다는 것이 최대 장점이다..
그동안 웹상에서의 UI 개선에 대한 노력은 꾸준히 이어져왔다. 그러한 결과들로 접할 수 있는 것들로 DHTML이나 RIA(Rich Internet Application) 등을 들 수 있다..
이러한 기술들이 가지고 있는 공통분모가 있는데 그것은 바로 사용자로 하여금 보다 더 인터렉티브하고 풍부한(rich) 인터페이스를 경험토록 하는 것이다..
사실 웹기반 애플리케이션의 약점 중 하나로 꼽히는 것이 단절성과 thin application 이라는 것이다. 이는 초창기 웹과 클라이언트 자원의 한계로 인해 어쩔 수 없이 그렇게 발전이 되었던 것이었겠지만 C/S 환경에 비해 상대적으로 열악하게 보였던 점은 사실이다..
그러나 최근 몇년동안 x-internet을 필두로 한 RIA기반의 웹기반 애플리케이션들이 속속 등장하고 단순해보이기만 했던 웹 애플리케이션들이 이제는 일정부분 C/S의 영역을 대체하고 있는 것들을 주변에서 볼 수 있다.. 나 역시 몇년전 RIA기반의 영화,공연 판매시스템을 개발한 적이 있는데 이 판매시스템은 기존의 정적이었던 스크립트 기반의 판매시스템에 비해 사용자로 하여금 보다 더 풍부한(rich) UI를 접하게 하면서도 C/S에 비해 유지보수가 손쉽게 이루어지는 장점들을 경험한 적이 있다..
AJAX는 UI측면에서 RIA와 흡사한 부분들이 많이 있다.. 예를 들어 데이터 전송방식으로 XML을 활용한다거나 사용자로 하여금 실시간으로 보여지게끔 데이터 전달이 이루어진다는 것들이 바로 그것이다..
하지만 RIA나 기타 다른 기술들이 플랫폼에 종속적인 모습을 보이는 것에 비해 AJAX는 AJAX엔진이 이식될 수 있는 환경이라면 어느 플랫폼에서도 돌아갈 수 있다는 것이 다른점이라고 할 수 있다..
AJAX는 이제 막 일어나려고 걸음마 연습을 하는 아기처럼 보여진다.. 이 기술이 보편화될 때 쯤 과연 웹 애플리케이션의 모습은 어떻게 변하게 될까가 사뭇 궁금하다.. 그러나 어느 기술이든 결국은 사용자의 편의를 위해 발전되어 나갈 것이고 과연 AJAX를 이용한 기술이 사용자에게 얼마나 많은 편의를 제공할 수 있도록 응용되느냐가 앞으로의 AJAX의 나아갈 길을 제시할 것으로 보인다..
일반인들이 흥미있게 볼 수 있는 AJAX 관련 사이트를 하나 소개하고자 한다.. FlyakiteOSX 라는 사이트인데 웹상에서 Mac OS X(ten 으로 읽음)을 구현한 사이트로 브라우저 옵션을 전체보기로 하면 Client OS와 매우 유사한 경험을 할 수 있다.. ^^
FlyakiteOSX