레이블이 Razor인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Razor인 게시물을 표시합니다. 모든 게시물 표시

2012년 2월 27일 월요일

ASP.NET 개발 방향

2012년 1, 2월에 집중적으로 UI 쪽 Framework에 대한 조사 및 공부를 했습니다.

개인적인 소회로는 제가 너무 Background 쪽에만 신경 쓰지 않았나 싶기도 하고, 웹 개발을 담당하고 있는 개발자들은 이런 큰 변화를 받아들이고 있나 싶기도 합니다만,

PMS 팀은 다행히 jQuery 등 JavaScript Framework 을 도입하여, 활용하는 것으로 알고 있습니다.

그럼 제가 2달 동안 공부하면서 느낀 점과 감으로 앞으로의 발전 방향에 대해 의견을 말씀 드리겠습니다.

 

  1. JavaScript Framework 필수 사용 
    1. jQuery, jQuery PlugIn, jQuery UI 사용
    2. Kendo UI 
    3. Ext JS 
    4. jQuery 와 Kendo UI 는 같이 사용할 수 있고, Ext JS 도 같이 사용할 수 있지만, Ext JS 는 워낙 많은 내용이 있어 독립적으로 사용할 수 있습니다.
    5. HTML5, CSS3 를 지원하도록 하는 Plug In이 많이 등장할 것이다. <HtmlDrive>
  2. ASP.NET MVC 득세
    1. Razor Template Engine 도입에 따른 생산성 향상
    2. Unit Testing, IoC/DI 를 통한 제품 안정성 향상 가능 (View 가 없어도 가능)
    3. View 는 Design 쪽에서 개발 가능
    4. MVC용 Javascript Framework Adapter 제공 – Kendo UI, Ext JS 도 MVC 용 라이브러리 제공
  3. ASP.NET WebPages 등장
    1. ASP.NET WebPages 는 Razor Template 엔진을 사용하는 WebForm 이라 보시면 됩니다. 즉 MVC 를 어려워 하거나, 단순한 웹 Application의 경우에는 WebPages 를 이용하여, 쉽고 빠르게 웹 페이지를 개발할 수 있습니다. (WebForm ASP.NET Control을 사용하지 않아 직관적입니다)
    2. 기존 C# 코드를 아주 쉽게 적용할 수 있어 고급 개발도 가능합니다.
    3. Master Page 기능이 있으므로, 기존 디자인 구조를 구조적으로 표현할 수 있습니다.
    4. php 와 유사하고, 간단한 Application 개발에 유용
    5. Helper 를 이용한 확장이 가능

더 많은 기술 자료와 발전 방향이 많겠지만, UI에 한정해서는 위의 방향들이 대세가 아닌가 싶습니다.

제가 초보 개발자라면, 우선 ASP.NET WebPages 의 Razor Template Engine 을 공부하여, 쉽고 빠르게 UI를 만들 수 있는 방법을 습득하고, JavaScript Framework 중 jQuery 와 jQuery PlugIn 들을 사용하는 방법 (특히 ajax) 를 먼저 습득하겠습니다.

중급 이상이라면, Razor, jQuery 정도는 기본으로 깔고, ASP.NET MVC 3, 4 를 심도있게 활용할 수 있도록 IoC/DI 및 ORM 을 연동하고, Unit Testing 및 Web Testing 을 자동 수행할 수 있는 기능을 습득하는 것을 추천드립니다.

그 후 UI에서 가장 화려하고, 기능이 막강한 Ext JS 나 Kendo UI를 도입 (이건 뭐 공부랄 것도 없죠 – 시간이 걸릴 뿐이죠) 하는 겁니다.

사실 저도 Razor Template Engine 이란게 새로 나왔다. 좋다 했을 때는 뭐… 또 금방 사라질 기술을 MS에서 광고 때리는 구나 라고 생각했습니다. 그러나 오판이었습니다. 뭐 자세히 볼 것도 없이, ASP.NET MVC 3 Tutorial Index, ASP.NET MVC 3 Razor 를 보니,

와우… 이거 예전 asp 하고는 완죤 다르네… 상당히 편해졌네… 코드도 지저분해지지 않고…

이게 제가 느낀 점이었습니다. 앞으로 저도 써보면서 처음 느낌이 달라질 수 있겠지만, 지금은 Razor Template Engine은 상당히 괜찮은 물건인 거 같습니다.

2012년 2월 24일 금요일

Razor Template 엔진 활용

기본적으로 Razor template engine 은 MVC  와 WebPages 에서 기존 ASP.NET WebForm Rendering 엔진을 대안으로 작성하기 쉽고, 읽기 용이한 형식을 취한 template engine 이라 할 수 있습니다.

이 template 엔진을 ASP.NET MVC 나 WebPages에서만 사용하기에는 너무 매력적이네요. 제가 보통은 Presentation Layer 가 아닌 서버쪽 프로그래밍을 주로 하다보니, 간이 Template Engine을 활용하여, 대량 메일을 보낸다던가, 서버 상태에 대한 정보를 메신저로 보낸다던가 하는 일을 많이 했습니다.

근데, 이제는 모바일도 지원해야 하고, 간략하면서도 시인성이 좋은 포맷과 화면으로 구성해야 하는데, 굳이 특별한 Template Engine 을 사용하게 되면 결과물의 품질도 낮고, 개발자가 공부하는 것도 힘듭니다.

근데 Razor Template Engine 을 단독으로 사용이 가능하군요. 기존에는 codeplex @razorengine 에서 서비스하다가, 이제는 github 로 옮겼네요. Antaris/RazorEngine 에 가시면 최신 Razor Engine 3.0 Beta를 다운로드 받아 쓰실 수 있습니다.

이제 간단히 Razor Template Engine을 이용하여, Html Template 를 만들고, 변수를 지정해서 결과물을 얻을 수 있네요.

기존의 Template Engine은 따로 공부해야 하지만, Razor 는 HTML, C# 만 알면 작성할 수 있으니 .NET 개발자에게는 가장 좋은 Template Engine이 될 것 같네요^^

2012년 2월 21일 화요일

ASP.NET WebPages 란게 뭔가 봤더니…

ASP.NET WebPages 관련 책 한 권을 사서 두 시간 정도에 끝까지 읽어보고… 느낀 점을 써보고자 합니다.

흠… 악평을 하자면… php 짝퉁이라고 할 수 있겠고… Razor 를 포장해서 ASP.NET WebForm 을 약간 변형시킨 게 아닌가 싶네요…
제 경혐 상  Microsoft 사의 초창기 웹 개발 Script 언어인 ASP 를 떠올릴 수 밖에 없겠더군요.
 
Helpers 구조는 좋은 데, 기본적으로 제공하는게 ASP 의 ADO 처럼 Database, Email 관련 Helper 만을 제공하는군요…
왠지… 암울한 생각이 드는 것 같습니다…


그럼 장점을 보자면? Razor 라는 아주 간편하고, 간략히 표현가능한 Template 엔진을 사용하여, 결과 코드의 가독성이 상당히 높다는 점과 Web Form의 Id 값의 자동 생성에 따른 JavaScript Framework 사용의 어려운 점이 사라졌다는 점 등이 있습니다.
또 다른 장점은 .NET 기반이므로, Helpers 나 Functions 를 C# 으로 자체 제작할 수도 있고, 기타 라이브러리리를 참조해서 사용하는 것도 기존 방식과 똑같으니, 어찌보면, Web Form 보다는 제작이 수월할 것으로 예상됩니다.

그동안 제가 Razor 라는 Template 엔진을 좀 오해 했었는데, 이번에 오해를 푼 것이 성과이고, ASP.NET MVC 4 로 개발 시에도 Razor Template 를 사용해야 겠다는 생긱이 듭니다^^

그나저나, 책 쓰신 공저자들끼리, 코딩 규칙도 정하지 않았는지, 챕터마다 코딩 방식이나 규칙도 다 다르고… 특히나 뜽금없이 C# 초보 문법을 왜 넣었는지 의문이더군요… 물론 초보자를 위한 것이였다고 했지만, 차라리 예제 프로젝트 한두개 더를 심도있게 제공하는 것이 좋았을 걸 하는 생각을 해 봅니다.

더 자세한 정보는 : http://www.asp.net/web-pages 를 참고하시기 바랍니다.