lecture Home > ASP.NET > 악꽁이의 ASP.NET 강의

악꽁이의 ASP.NET 강의

   강좌 최초 작성일 : 2002년 01월 30일
   강좌 최종 수정일 : 2002년 02월 01일

   작성자 : acggongi(임 태영)
   편집자 : Taeyo(김 태영)

   강좌 제목 : Windows Forms Vs Web Forms

강좌 전 태오의 잡담>

태오는 요즘 세미나 준비로 정신이 없답니다.. ASP.NET & Web Service 에 대한 주제로 준비하구 있지요.. 다음달 2월 말에 있을 세미나 준비...준비.. 강좌도 빨리 올려야 하는데.. 이런 이런.... (히죽)


강좌 시작 >

자~ 이제부터 저와 함께 ASP.Net을 시작 해 보겠습니다.

  

저는 C와 관련 된 말 자체를 별로 좋아하지 않다 보니 비쥬얼 스튜디오 닷넷에서도 VB.NET을 기반으로 하여 설명 드리겠습니다. 물론 Tip & Trick도 한 번에 최소 한 개씩은 올리도록 노력하겠으며, Tip & Trick에는 언어를 구분하지 않고 다루어 보겠습니다. 현재 태오님이 또한 강의를 준비중이신 걸로 알고 있기에 중복을 피하기 위함 이기도 하구요. (*^^*) 먼저 전체적인 강요 개요는 이렇습니다.

초점을 ASP.NET으로 맞추게 되다 보니 기존의 VB나 ASP에 대한 설명은 부득이한 경우를 제외하고는 하지 않겠습니다. 물론 차후 나오게 될 ADO.NET 부분은 태요 님이 먼저 하시게 될지 제가 먼저 손을 댈지는 모르겠지만, 만약 제가하게 된다면 심도 있게는 다루지 못하고, ASP.NET으로 웹 프로그램을 구현 함에 있어 필요한 부분만을 다루겠습니다.

대충 서론은 여기서 마치고, 전체 강의 계획을 간단히 말씀 드리자면 첫째 날은 부득이하게 윈 폼과 웹 폼의 차이를 알고는 넘어가야겠기에 이 놈부터 이해하고 넘어가는 걸로 마치겠습니다. 그리고 두 번째 강의부터는 서버 컨트롤을 비슷한 놈들끼리 묶어서 하나씩 하겠습니다. 비쥬얼 스튜디오 닷넷 한글판이 올 3월에 출시 된다고 합니다.(이미 RTM 버전은 출시 됐지만 …) 그리고 빠르면 매년 늦으면 2년에 걸쳐 한번씩 업그레이드가 있을 거라는 계획이 이미 밝혀져 있고, 닷넷 후속 버전도 이미 개발에 들어 갔다고 합니다. 개발자 님들 앞으로는 공부 열심히 하셔야 할 것 같습니다. 그렇다고 중요한 걸 건너 뛸 수는 없겠죠? 그래서 천리 길도 한 걸음부터니 몇 회에 걸쳐 서버 컨트롤을 다루겠습니다. (서버 컨트롤 다룬다는 말을 너무 길게 했군요……) 주로 예제를 통해 중요한 속성들만 다루고, 나머지는 개발자님들 몫이겠죠??!!! 그리고 게시판도 만들어 보고, 쇼핑몰도 꾸며 보고 할 텐데 이 때 가서는 이 글을 보시는 분들에게 조사를 해서 가장 의견이 많은 프로그램을 짜보겠습니다.

물론 저도 현재 공부를 하고 있다 보니 가끔 부족 한 부분이 충분히 나올 꺼라 생각이 듭니다. 부족한 점 또는 의문 나는 점이 있으시면 acggongi@hotmail.com으로 욕만 빼고 어떤 말이든 해주세요.. (참고로 저는 유부남 입니다..)


강의 시작입니다. (한가지만 더요.. 인터넷 강좌를 몇 군데 보면 글이 너무 많아서 보기에 짜증이 나더군요. 이 강좌를 올리기로 결심을 하고 나는 예제를 주로 해서 따라 하는 ASP.NET을 만들어야지 했건만 첫 날부터 말이 많아 져서 죄송합니다. 하지만 다음에 다시 찾아 뵐 때는 주로 글 보다는 이미지 위주로 따라 하시면서 흥미를 유발하고 따라 하시다 보면 어느덧 몇 개 프로그램을 뚝딱!! 해 치웠다는 걸 느끼실 겁니다.

1. Windows Forms

Windows Forms은 기존에 개발되었던 비쥬얼 베이직이나 C++이 기반으로 사용 했던 Win32를 이용한 어플리케이션 방식입니다. Windows Forms(이하 윈폼)은 일반적으로 데이터를 처리하는 데 있어서 그 속도를 고려하여 데스크톱의 성능에 의존합니다. 자주 사용하는 예로 게임이나 그래픽 프로그램 등이 그것이라 할 수 있겠습니다.

2. Web Forms

ASP.NET의 웹폼은 브라우저 상에서 사용자 인터페이스를 구현하는 어플리케이션을 만드는데 사용합니다. 다른 말 보다는 하나씩 만들어 가보면 아시겠지만, 웹폼의 가장 중요한 점이라고 생각 되는 부분은 클라이언트의 컴퓨터에 웹 브라우저(모든 브라우저)만 설치되어 있으면 배포하는 데 있어서 비용이 전혀 들지 않는 다는 겁니다. 이러한 최적화 작업은 웹 폼 컴포넌트가 사용자의 브라우저를 감지해서 적절한 페이지를 만들어 주기 때문에 가능합니다.

몇 가지 특징을 들어서 Windows Forms 와 Web Forms의 장 단점을 비교해 보겠습니다.

(아직 저도 학습하는 단계이다 보니 이 비교는 MSDN과 몇 권의 서적을 참고하였습니다.)첫째 폼의 흐름이라고 번역을 했습니다. 윈폼은 컨트롤의 위치를 X, Y 좌표의 2차원 적으로 지정할 수 있습니다. 윈 폼에 텍스트를 출력하기 위해서는 Label 이나 Textbox와 같은 컨트롤을 이용하며, 웹폼은 HTML 스타일 기반의 레이아웃이며 웹 페이지 레이아웃의 모든 특성을 제공합니다. 만약 최신버전의 브라우저 (DHTML 지원) 라면 윈폼처럼 2차원적인 위치를 정할 수 있습니다.

두 번째로는 윈폼과 웹폼의 Platform (플랫폼)에 대해 비교하면, 윈폼은 사용자 컴퓨터에 닷넷 프레임웍이 설치 되어 있어야 하며, 윈폼의 경우에는 브라우저만 있으면 일단 사용이 가능하며, 물론 DHTML이 지원 되는 브라우저라면 더 많은 장점을 가지게 될 것입니다. 즉 웹폼은 모든 브라우저에 가능하도록 설계되었다는 점입니다. 당근 서버상에는 닷넷 프레임웍이 실행되어야 하겠죠?

세 번째로는 윈폼은 로컬 컴퓨터의 자원에 대한 모든 접근이 가능 합니다. 꼭 접근의 제한을 두자면 특정 자원에 대한 접근 권한 설정은 가능합니다. 반면 웹폼은 클라이언트 브라우저는 서버 컴퓨터의 리소스에 접근을 못합니다.

마지막으로 Responsiveness 부분은 윈폼은 사용자와 상호 작용이 빠른 반응 속도를 제공합니다. 클라이언트 컴퓨터 상에서 모두 실행 가능 합니다. 그러나 웹폼은 사용자가 IE 5 이상을 사용한다면 DHTML을 이용해서 보다 반응 성이 높은 장점 갖게 되며 그 이하의 버전이라면 서버와 클라이언트 사이의 라운드 트립이 요구 됩니다.


여기까지 아주 기본적인 개념 차원에서 Windows Forms 과 Web Forms을 분석(?) 해 보았습니다. 제가 말씀 드리고 싶은 건 어떤 것이 좋다는 게 아닙니다. 우리는 다음 강좌부터는 거의 대부분 웹폼을 사용하게 될 것이고, 그 자체가 기반이 되기 때문입니다. 여기서 제가 중요하게 생각 하는 건 딱 하나 있습니다. 바로 마지막에 말씀 드렸던 라운드 트립입니다. 앞으로의 강좌에서나 나올 수 있는 이야기 이겠지만, 지금 미리 한다 해도 그리 어려운 것은 아닌 것 같고 해서 이 부분을 설명하고 강좌를 마치겠습니다.

Round Trip (이하 라운드 트립)은 말 그대로 뭔가가 계속 돈다는 의미 입니다.

한가지 예를 들어 설명을 하자면, 요즘은 거의 모든 사이트에서 회원 가입을 받습니다. 물론 Microsoft의 계획으로는 앞으로는 각 사이트의 회원 가입은 없어지고, 그 모든 게 Passport에 한 번 가입함으로써 번거로움을 줄여 줄 거라고 하고 있지만 제가 보기엔 아직까지는 별로 신뢰할 만한 게……(MS의 구상은 Passport를 사용하면 회원 가입의 번거로움을 피할 뿐 아니라 모든 온라인 거래의 거래 절차를 간소화 하고, 여러 가지 불미스러운 사고를 미연에 방지하고 등등) 계속하자면 어떤 사이트에 어떤 서비스를 이용하기 위해 회원 가입을 해야 한다고 합니다. 그럼 우린 회원 가입 버튼을 누르든지 해서 해당 페이지를 서버에 요청을 하고 서버는 해당되는 회원 가입 페이지를 클라이언트 브라우저에 출력 합니다. 또 우리는 회원 가입을 할 때 항상 아이디의 중복 값을 체크 받고 있습니다.

사용자는 중복 아이디가 있는 지 아니면 지금 기입하는 아이디가 사용 되지 않은 아이디인지를 서버에 요청하고 요청한 결과를 클라이언트 브라우저에 출력합니다. 이렇게 데이터들이 돌고 도는 것을 라운드 트립이라고 합니다. 그런데 왜 버전이 낮은 브라우저에서는 라운드 트립이 요구 되는지 아십니까? 당연히 모든 브라우저에서 라운드 트립이 요구 될 것 같은데 왜 DHTML이 지원 되는 브라우저는 라운드 트립이 요구 되지 않는다는 데 (물론 요구 되지 않는다고는 단정하지 못하지만..) 과연 왜 그럴까요? ㅋㅋ 궁금증 유발을 하나 시키고 저는 일단 물러 갑니다.

다음 시간에는 서버 컨트롤을 하나 씩 다루어 보겠습니다. 모든 준비물이 갖추어 지면 연락 주세요.. (*^.^*) 준비물이 갖추어지면 Visual Studio.Net의 통합 개발 환경 (IDE: Integrated Development Environment)의 팁들도 한가지씩 올리겠습니다.

여러분~~~ 공부 열심히 해서 부~~자~~되세요!!!!

 

Back