2012년 1, 2월에 집중적으로 UI 쪽 Framework에 대한 조사 및 공부를 했습니다.
개인적인 소회로는 제가 너무 Background 쪽에만 신경 쓰지 않았나 싶기도 하고, 웹 개발을 담당하고 있는 개발자들은 이런 큰 변화를 받아들이고 있나 싶기도 합니다만,
PMS 팀은 다행히 jQuery 등 JavaScript Framework 을 도입하여, 활용하는 것으로 알고 있습니다.
그럼 제가 2달 동안 공부하면서 느낀 점과 감으로 앞으로의 발전 방향에 대해 의견을 말씀 드리겠습니다.
- JavaScript Framework 필수 사용
- jQuery, jQuery PlugIn, jQuery UI 사용
- Kendo UI
- Ext JS
- jQuery 와 Kendo UI 는 같이 사용할 수 있고, Ext JS 도 같이 사용할 수 있지만, Ext JS 는 워낙 많은 내용이 있어 독립적으로 사용할 수 있습니다.
- HTML5, CSS3 를 지원하도록 하는 Plug In이 많이 등장할 것이다. <HtmlDrive>
- ASP.NET MVC 득세
- Razor Template Engine 도입에 따른 생산성 향상
- Unit Testing, IoC/DI 를 통한 제품 안정성 향상 가능 (View 가 없어도 가능)
- View 는 Design 쪽에서 개발 가능
- MVC용 Javascript Framework Adapter 제공 – Kendo UI, Ext JS 도 MVC 용 라이브러리 제공
- ASP.NET WebPages 등장
- ASP.NET WebPages 는 Razor Template 엔진을 사용하는 WebForm 이라 보시면 됩니다. 즉 MVC 를 어려워 하거나, 단순한 웹 Application의 경우에는 WebPages 를 이용하여, 쉽고 빠르게 웹 페이지를 개발할 수 있습니다. (WebForm ASP.NET Control을 사용하지 않아 직관적입니다)
- 기존 C# 코드를 아주 쉽게 적용할 수 있어 고급 개발도 가능합니다.
- Master Page 기능이 있으므로, 기존 디자인 구조를 구조적으로 표현할 수 있습니다.
- php 와 유사하고, 간단한 Application 개발에 유용
- 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은 상당히 괜찮은 물건인 거 같습니다.
댓글 5개:
ASP .NET은 지금 MVC가 대세인것은 확실한 것 같습니다. 당장 ASP .NET WebForm의 경우에도 이젠 MVC의 Model개념을 가지고 올려고 하고 있고.
무엇보다 Razor는 정말.. 대단합니다. 모든 코드를 단순하게도 만들어주고, 이렇게 편한 웹 개발이 있었나 싶을 정도군요.
저도 ASP.NET MVC3 + Razor Syntax 로 실제 프로젝트를 진행해봤습니다. 깔끔한 코드와 가독성 정말 마음에 듭니다. php + CodeIgniter 에서도 비슷한 구문을 쓰는 것이 대세인 것 같구요. 앞으로 뭐든지 심플하게 바뀌어가는 것 같네요.
오우 다들 저보다 경험이 많으시군요^^ 예전에 MVC 로 하려다가, 팀원들이 어려워해서 포기했는데, 이제 혼자이니 이것 저것 혼자서 해보고 있습니다.
역시 MVC 의 장점은 Unit Testing이라 생각했는데, Razor 라는 놈 때문에 많은 Javascript Framework 에서도 Extensions 들을 제공해서, 상당히 편하게 Web Page를 만들 수 있어 좋습니다.
Razor 엔진의 기능을 확장하면 더 심플하게 처리할 수도 있습니다. 예를 들어 자주 사용되는 게시판의 경우에도 지금도 여전히 @foreach를 사용하지만, delegate와 helper를 확장하여 사용하면 이 마저도 코드상에서 제거할 수 있구요. partial view를 component 개념으로 개발할시 동반되는 javascript 코드의 경우 본문 중간중간에 삽입되는 지저분함을 모두 하단배치할 수 있구요. Razor만의 장점은 아니지만 기존에 제공되는 확장성과 Razor문법을 섞어 사용하면 정말 가독성 좋은 깔끔한 코드가 나와 햄볶습니다 ^^;
MVC 가 WebForm 보다 Controller 를 상속받아 작업하는 것도 좋고, IoC/DI 도 제맘대로 할 수 있고... Unit Testing 도 꼼꼼하게 할 수 있고... Razor 도 직관적이고... 이제서야 제가 관심가진 게 너무 늦은 감이 있네요^^
뭐 앞으로 .NET 진영을 접하지 못할 수도 없지만... 하게 되면 MVC로 해야겠네요.
댓글 쓰기