웹 어플 제작시 framework을 써보려는데..

lacovnk의 이미지

지금까지는 php 쌩 막노동을 했는데요 -_-; 좀 뒤적거려보니..

Quote:
ruby -> ruby on rails
perl -> maypole
java -> struts

요런 framework들이 있던데 (모두 MVC..).. 음음.

너무 무거우려나요?;; 간단한 금전출납부나 출석부( http://danawa.lacovnk.net/ ) 같은 필요한 작은 어플을 만드는데, 중복되는 일 없이 편하게 만들고 싶어서요. - ror 홈페이지 첫부분에 Don’t Repeat Yourself (DRY) 라고 있긴 하군요 ㅎㅎ

개인 라이브러리? 처럼 만들어볼까 했는데, 실력도 미천하고 -_-; 이럴때 위와 같은 framework을 사용하는게 많이 무리가 되려나요? struts 홈페이지의 다음 말이 찔리기도 해서 -_-;

Quote:
Is Struts the best choice for every project?

No. If you need to write a very simple application, with a handful of pages, then you might consider a "Model 1" solution that uses only server pages.

But, if you are writing a more complicated application, with dozens of pages, that need to be maintained over time, then Struts can help. For more about whether Model 1 or or MVC/Model 2 is right for you, see Understanding JavaServer Pages Model 2 architecture and Issues in Struts Adoption.

사용해신 분이나, 이쪽을 좀 알고 계신 분의 조언 부탁드립니다 ㅎ

덧. 어느 게시판으로 가야하려나요 -_-;

nohmad의 이미지

적극 권장합니다. 이제 더 이상 날코딩은 그만~

개인적으로는 RubyOnRails를 추천합니다. 기본적으로 웹개발의 A부터 Z까지 모두 포괄하는 완전한 프레임웍이어서 좀 무겁게 보일 수도 있습니다만, ORM, HTTP 컨트롤러, 템플릿, AJAX, 웹서비스에 이르기까지 따로 따로 알아야 하는 것에 비하면 오히려 더 심플한 면도 있습니다. Java의 trails, PHP의 cake, Perl의 PerlOnRails, Python의 Subway 등 RubyOnRails를 흉내낸 카피 프레임웍들이 많이 만들어졌지만, 역시 원조는 원조죠. ;-)

kowdream의 이미지

간단한 웹어플리케이션에 MVC모델을 쓰는건 개발부하만 걸립니다.

설계부터 만만치가 않지요..

MVC가 지향하는 바는 코드의 재사용성과 쉬운 유지보수입니다.

"쉬운 유지보수"가 간단한 웹어플리케이션에서는 오히려 "어려운 유지보수"로 둔갑합니다.

ruby나 perl은 잘 모르지만 최소한 java의 struts플랫폼이라면 위의 상황처럼 됩니다.

공부할 목적이 아니라면 jsp의 스트립틀릿과 bean을 써서 만드기를 추천합니다.

bean만 제대로 써도 유지보수 하기 편합니다.

P.S struts 프레임웍은 jar파일 몇개로 이루어져 있습니다. 절대 무거울일은 없지요.

kowdream의 이미지

덧붙이자면... PHP로 개발하셨다고 했는데...

PHP5부터는 완벽한 class를 지원한다고 들었습니다.

class만 잘 쓰셔도 쌩 막노동을 하지 않고 유연하게 만드실수 있습니다.

막노동을 하지 않는 방법보단 막노동을 하지 않는 로직 부터 찾아보시는게 어떨까 합니다.

어차피 언어는 도구일뿐이니까요...

sh.의 이미지

php라면 pear도 고려해보세요
이미 사용해보셨다고 하니 학습곡선이 다른 언어에 비해 빨리 올라가겠네요
DB_DataObject + HTML_QuickForm + 기타 몇가지 정도 활용하시면 그냥 쌩으로 코딩하는것보다 훨씬 즐겁게 할 수 있어요
원하시는 "프레임웍"은 아니지만 어중간한 정도의 프로그램 개발할 때 반복되는 부분은 확실히 줄여줍니다