안녕하세요. 김대우 입니다. 지난 세미나에서 Razor와 WebMatrix 벗겨먹기라는 주제로 세션을 진행 했는데요.

진행하면서 많은 분들이 궁금해 하실 Razor 벗겨먹기 내용과 FAQ 등을 따로 정리해 보았습니다.

 

Razor 벗겨먹기!
- Simple, Small, Seamless가 제작 컨셉이며 지상과제
- 살짝 이라도 복잡한 건 다 벗겨 버림
- 개발을 위해 Class나 OOP를 이해할 필요 없이 개발 자체에 집중 가능
- 코드 비하인드 기본 없음.
- 기존 웹사이트 실행을 위해 빌드(Build) 과정 생략
- Web.config 기본 없음. – 초기 웹사이트 설정 없음
- SEO 기본 지원
- 대부분의 웹 작업을 “Helper”로 쉽고 빠르게 처리 가능
- 개발 언어는 C#과 VB.NET 지원
- 개발을 위해 추가 툴이나 서비스 설치 불필요

 

특히, 기존에 웹 개발을 진행하신 경험이 있거나, Razor의 실체(?)가 궁금하신 분들은 도움 되실 거에요. - 참고로 아래의 내용은 제 사견(?)도 포함되어 있음을 미리 밝힙니다. ^_^;;;

 

Q. Razor 용어에 차이가 있는 것 같아요. 어디는 ASP.NET MVC의 뷰 엔진(View Engine)이라는데 어디는 Web Pages?

A. WebMatrix로 개발 가능한 프레임워크 입니다. 기본 개발 구문(Syntax)가 Razor 입니다. ASP.NET MVC의 View 엔진으로 Razor도 있습니다. 하부 구조적으로는 같다고 보시면 됩니다. 하지만, 개발 경험이나 개발 환경(개발툴) 사용 경험등은 완전히 틀리지요.

코난이가 이야기 드리는 Razor는 모두 ASP.NET Web Pages의 Razor 입니다. 여기에서 앞의 ASP.NET Web Pages를 대부분 없애고 "Razor"라고 쓰게 될겁니다. 즉, Razor 개발 = WebMatrix 개발 = ASP.NET Web Pages with Razor 개발 이라고 보시면 됩니다.

 

Q. 마이크로소프트가 또 하나 찔러 보는건 아닌지?

A. Razor의 코드명 시절부터 햇수로 2년 가까운 시간을 기다려온 한 사람으로 경험을 말씀 드리자면, Visual Studio와 같은 WebMAtrix 개발 환경에, Web Pages, SQL CE DB와 IIS Express까지 다양한 도구와 프레임워크, 플랫폼이 동시에 발표 되었습니다. 하루아침에 뚜닥뚜닥 만든 녀석이 아니라, ASP.NET 웹개발의 한 축으로 개발되었지요. 오랜시간 마이크로소프트의 기술을 봐 온 한 사람으로, Beta 시절부터 이렇게 달리던 녀석이 얼마나 있었을까...? 하는 생각이 듭니다.

Q. ASP 4.0 같아요!!??

A. 그 만큼 쉽다는 말씀이지요? ^_^ 저의 소견을 말씀 드리자면, ASP나 PHP의 쉬운 장점과 ASP.NET의 성능과 안정성 같은 장점을 쏙쏙 빼와 만들게된 녀석이 바로 Razor가 아닐까 감히 말씀 드리고 싶어요. ASP 4.0은 아마 앞으로도 발표 되기는 힘들것 같네요.

Q. Java(JSP)나 PHP와 경쟁 하기 위한 기술인가요?

A. 그렇지 않습니다. ASP.NET 웹 개발의 다양성을 위한 마이크로소프트의 노력으로 봐 주시면 좋을 것 같습니다. Razor는 10년만에 리노베이션된 새로운 웹 개발 방식입니다. 10년의 시간동안 변화되고 새로워진 다양한 개발 방법들을 그 안에 품고 있으며 이런 요구를 수렴해 개발된 기능들이 다른 개발 언어들과 차별화되는 부분이라고 생각합니다.

Q. .NET은 몰라도 되나요?

A. 저의 소견을 말씀드리자면, 네! 모르셔도 됩니다. 맨위 Razor 벗겨먹기에서 소개해 드린 것처럼, Razor는 기존 웹 개발의 모든 복잡성을 벗겨버린 녀석입니다. 그만큼, 단순하고 쉽다를 지상목표로 하고 있구요. Razor로 개발을 진행 하시면서 자연스럽게 C#을 접하시고, 한단계 더 나아가시기 위해 .NET과 MVC를 공부하시면 그게 최선 아닐까요? 시작부터 .NET을 모두 알고 시작할 필요는 없다고 생각합니다. - 제 강좌를 주욱 보시면 아마 제 마음을 이해해 주실 거에요. 제 강좌 어디에도 .NET에 대한 이야기는 없지만, 개발은 가능하니까요.

Q. 초보자 또는 학생용 저급 개발 언어라서 엔터프라이즈 환경에서는 적용이 불가할 것이다?

A. 소견입니다만, 웹 개발은 점점 더 Agile해 지는 것 같습니다.(업무 환경이 아니라 개발 패턴을 말씀 드리는 겁니다.)

하나의 이벤트 페이지나 게시판과 같은 오픈소스 CMS나 블로그엔진을 만들기 위해 반드시 복잡한 기술이나 프레임워크를 써야만 개발자로 인정 받는 것일까요? 기업의 모든 웹은 반드시 모두 무겁고 복잡한 프레임워크를 기반으로한 사이트를 써야만 할까요? Razor라는 "면도날"이름에서 보시는 것처럼, 가볍고 빠른 개발에 이용하는 것은 어떨까요. 엔터프라이즈 역시 마찬가지라고 생각합니다. Pattern & Practice에 Razor를 이용한 프레임워크 관련 내용이 나오게 되면 엔터프라이즈 기술이 될까요? 웹폼이나 MVC, 상용 프레임워크가 사용되어야 엔터프라이즈일까요? 소견으로는 "목적에 맞는 선택"이 그 답이 되지 않을까 감히 생각합니다.

Q. Razor 개발 환경인 WebMatrix는 곧 유료화 될 예정인가요?

A. 아니오. 앞으로도 계획 없습니다.

이렇게 부족하지만, 저의 소견을 정리해 보았습니다. 기존에 개발일들을 해오신 분이라면 FAQ에 대한 저의 소견이 조금 당황 스러우셨을지도 모르겠네요. Razor와 WebMatrix는 분명 웹 개발의 한 축으로 자리잡게 될 것입니다. 많은 관심 부탁 드려요~



동영상 참고 자료 :

[동영상 강좌] (1) WebMatrix 첫 실행 & Hello World까지 달려요~

[동영상 강좌] (2) WebMatrix 5분 리뷰~

[동영상 강좌] (3) Razor 강좌 - 기본 구문 및 주석 처리

[동영상 강좌] (4) Razor 강좌 - 코드 블록과 POST 처리

[동영상 강좌] (5) Razor 강좌 - 재사용 가능한 코드 생성
[동영상 강좌] (6) Razor 강좌 - 레이아웃 페이지 구조 처리

[동영상 강좌] (7) Razor 강좌 - 파일처리, 파일 업로드

[동영상 강좌] (8) Razor 강좌 - 데이터베이스 처리
[동영상 강좌] (9) Razor 강좌 - Helper 소개(이미지, 비디오)

[동영상 강좌] (10) Razor 강좌 – 디버깅

[동영상 강좌] (11) Razor 강좌 - 캐시 처리

[동영상 강좌] (12) Razor 강좌 – SMTP 메일전송(Live메일과 Gmail지원. SSL지원)

[동영상 강좌] (13) Razor 강좌 – 웹사이트 전체, 또는 폴더 내 파일 요청 시 항상 실행 되는 모듈

[동영상 강좌] (14) Razor 강좌 - URL 라우팅(Routing) 으로 SEO 최적화 구현

 

Razor & WebMatrix 시리즈 강좌

(1) WebMatrix와 Razor! 이제 시작합니다.
(2) WebMatrix 설치부터 Hello World까지
(3) Razor 강좌 - 기본 구문 및 주석 처리
(4) Razor 강좌 - 코드 블록과 POST 처리
(5) Razor 강좌 - 재사용 가능한 코드 생성
(6) Razor 강좌 - 레이아웃 페이지 구조 처리
(7) Razor 강좌 - 파일처리, 파일 업로드
(8) Razor 강좌 - 데이터베이스 처리
(9) Razor 강좌 - Helper 소개(이미지, 비디오)
(10) Razor 강좌 – 디버깅
(11) Razor 강좌 - 캐시 처리
(12) Razor 강좌 – SMTP 메일전송(Live메일과 Gmail지원. SSL지원)
(13) Razor 강좌 – 웹사이트 전체, 또는 폴더 내 파일 요청 시 항상 실행 되는 모듈

(14) Razor 강좌 - URL 라우팅(Routing) 으로 SEO 최적화 구현