** 다른 모임에 올렸던 글입니다. 혹시나 도움되실까 싶어 그대로 올려봅니다. ^^ **
-----------------------------------------------------------------------
첫 번째 시간입니다. 이하 존칭은 생략하겠습니다. ^_^
닷넷이 처음 나왔을 때에도 닷넷의 탄생을 알지 못하고 필자는 한창 웹 공부를 했는데, Microsoft IIS기반의 ASP였다.
처음으로 닷넷을 접하고 알게된 건 인터넷. 군생활 중 휴가나와서 Visual Studio.NET 2002 정식
60일 평가판이 든 책 한권을 사들고 오면서 학습을 시작했다. 그 때가 2003년.. 정식이 나온 한참
후의 일이다.
필자에게 닷넷은 웹 프로그래밍을 하는 용도로 많이 사용됐다.
결국 우리나라 전군 최초로 닷넷을 이용한 홈페이지를 만들고 전역했다.
주위에 하는 사람이 없어서, 1-2개월간은 뚫어지게 MSDN만 봤다. 앞에서 말한 그 책, 아니 책안에 든
평가판의 MSDN 문서가 나에게 많은 도움이 됐다. VS.NET 툴(Tool)은 60일 평가판으로, 인터넷으로
등록하지 않으면 사용하지 못했으므로, 애초부터 텍스트 편집기로 코딩해서 지금까지도 툴 다루는게
서툴다. 그렇게 .Net Framework v1.0 정식, 1.0서비스팩, 1.1, 1.1서비스팩 이렇게 마이너 업그레이드가
되다가 작년부터 .NET Framework 2.0 베타가 출시되고 현재 VS.NET 2005 BETA 2가 배포되고 있다.
.NET 2.0 정식은 올해 중순에나 나온다고 한다.
이번 강좌의 주제는 ASP.NET 2.0으로 만드는 방명록이다. 2.0 이라는 수치의 버전이 눈에 띄듯이,
ASP.NET 1.x 에서 2.x 로 넘어오면서 추가된 컨트롤 기능과 달라진 부분을 잠시 짚어가고 그것을 이용해서
간단하게 제작해보도록 한다.
강좌에 들어가기 앞서, 참고할 수 있는 공식 문서들을 먼저 공개하겠다.
현존하는 국내 사이트의 강좌에서는 2.0에서 달라진 점을 위주로 하거나, 간단한 예제를 든 것이 많기 때문에
실제로 참고할 만한 자료가 없다.
위 두 사이트만 봐도 많은 부분을 알 수 있을 것이며, 필자 역시 위의 사이트를 참고한다.
1. ASP.NET
Microsoft의 기존 웹 스크립트인 ASP는 VB문법과 유사하다.(아니 거의 같다)
인터프리터(대화형 컴파일, 전체를 신경쓰지 않고 처음부터 논리적 구성대로 따라가며 처리하는 방식)로 처리되고
함수위주의 스크립트이다. 대응되는 다른 스크립트로는 JSP, PHP등이 있는데, JSP는 컴파일 되는 방식이고 PHP도
ASP와 같은 처리방식이지만, 웹 스크립트 언어인 만큼 HTML과 관련된 유용한 함수가 많다. 게다가 소켓까지 지원
하므로 자체적으로도 많은 기능을 구현할 수 있다.
특별하지 않고는 불편함 없이 쓸 수 있는(하지만 내장 업로드 컴포넌트도 사람들이 거의 안쓰는 아주 부실한.....)
이 ASP는 ASP.NET 이라는 이름이 붙여지면서 완전히 다른 웹 개발용도로 사용된다. 닷넷 계열로 들어가면서
'HTML을 살살 달래는(?) 형태로 만들기 위해'서 쓰는게 만드는게 아니라 ASP.NET이 HTML을 꽉 쥐어 잡는 형태로
바뀌었다. 예로, ASP.NET에서는 대다수의 태그가 모두 객체화되어 ASP.NET이 '프로그래밍적으로 접근'할 수 있다.
(물론 이건 클라이언트에 전송되기 전이다.)
얘기하자면 길어지므로 줄이고,,,
ASP.NET에서는 HTML 태그 그대로를 다룰 수 있는 HtmlControl 과, ASP.NET에서 HTML태그의 형태로 자동화시켜
이는 단순한 <form>..</form> 내에 <input>, <select> 등의 태그를 넣어서 Submit 하는 형태에서 벗어나서 이들을
프로그램적으로 접근을 한다는 말이다. HTTP에서 서버로 자료를 요청하는 방식은 자주 쓰는 녀석으로 'GET', 'POST'
두 방식이 있는데, 이들은 ASP에서 Request 객체를 이용해서 사용했고, 그렇게 해야됐지만 ASP.NET에서는 현재
배치된 컨트롤의 ID로 접근해서 바로 사용할 수 있게 되었다.
2. ASP.NET 2.0
그렇다면 ASP.NET 2.0에서는 달라진 점이 무엇인가.
2.1. 유용한 여러 컨트롤 지원
- 뭐, WebForm이 여럿 더 만들어졌다는 말이다. (--;)
2.2. Master 페이지 지원.
- SSI(Server Side Include)를 대체하기 위해서 만들어진 것 같다. 현재 페이지에 다른 페이지를 넣기 위해서는
<!--include .. --> 형식이나 닷넷에서는 사용자 컨트롤, Server.Transfer(), Server.Execute() 등으로 넣어야
했는데, 이제는 HTML에서의 <frameset>처럼 Master 페이지를 만들고 그 내에 여러 페이지를 프로그래밍적으로
완전히 제어할 수 있게 되었다.
2.3. SKIN 지원.
- 스킨이 지원된다. WebForm 에서 스킨을 지정하면 해당 스킨에 설정된 스타일 시트 등으로 적용된다. 이 부분도
잘 활용하면 반복될 수 있는 작업을 줄일 수 있겠다.
2.4. Postback targeting.
- 기존 ASP.NET을 사용했다면 알고 있듯이, 포스트백은 자기 자신의 페이지로만 할 수 있었다. 이번 2.0 에서는
특정한 파일로 포스트백을 시키고 작업을 할 수 있게 되었다. 그리고 포스트백을 받은 페이지에서는 그 이전의
페이지 컨트롤에도 접근 할 수도 있게 되었다.
2.5. 코드 비하인드(Code-behide) 기능 강화 : partial class 지원
- 기존의 코드 비하인드 방식은 좀 복잡했다. [.aspx] 디자인과 [.aspx.cs] 코드에서는 System.Web.UI.Page 를
상속받아야 접근할 수 있었지만, 이제는 partial class을 이용하여 [.aspx] 디자인런타임을 그대로 재정의 할 수
있게 되었다. 코딩의 양이 많이 줄어든 것 뿐만 아니라 직관적인 느낌도 많이 나게 된 것이다.
구구절절 간단하게 ASP.NET 2.0에 대해 얘길 했는데,
필자 역시 저런 기능들이 있는 것만 알지 실제로 적용시켜보지는 못했다.(퍽~)
허나 말만 들어봐서도 기존 개발자들이 2.0 으로 넘어오게 되면 많이 편하겠다는 생각이 절로 날만한 말들이 많고
웹에서의 클라이언트 스크립트인 자바 스크립트의 난무도 조금 줄지 않을까 생각한다.
다음 강좌에서는 방명록 구현에 대한 실제 작업에 들어게 보겠다.
강좌를 준비하기 전에 구현하기 위한 필요한 환경은 .NET Framework v2.0 beta 1 이다. 물론 ASP.NET이 구동되어야
하며 Database는 사용하지 않고 XML로 자료를 구성하게 될 것이다.
그럼 다음에..
첫댓글 좋은 게시물이네요. 스크랩 해갈게요~^^
도움 많이 되었습니다.