Page 12 -
P. 12

그렇다면 ‘Java EE를 굳이 사용할 필요가 있나?’라는 의문이 생긴다. 서버 개발에 사용할 수 있는                         1

                        언어는 자바만 있는 것이 아니다. 규모가 크지 않다면 PHP나 루비(Ruby) 또는 파이썬(Python)으
                        로 무엇이든 만들 수 있다. 오히려 자바가 아닌 다른 언어들을 사용하면 훨씬 간단하게 소규모 시
                        스템을 구축할 수 있다.                                                                     스프링 개발 환경 구축

                        왜 자바 이외의 언어들이 소규모 서버 개발에 적합한 것일까? 그것은 이런 언어들이 웹 애플리케
                        이션 개발을 위한 정형화된 프레임워크를 갖추고 있기 때문이다.





                        Struts부터 Rails까지


                        이렇게 말하면 누군가는 다음과 같이 반론할 것이다. 자바에도 프레임워크가 있다. 다른 언어에는
                        프레임워크가 없던 시대에도 Struts가 폭넓게 사용됐다. 정확한 지적이다.
                        자바의 서버 개발 표준이라고 할 수 있는 프레임워크가 ‘Struts’이며, Struts가 세상에 나온 것은

                        2001년이다. JSP/서블릿 기술을 기반으로 구축된 Struts는 단시간에 자바 프로그래머들이 애용
                        하는 프레임워크가 됐다. 1~2년 사이에 Struts는 자바의 표준 웹 애플리케이션 프레임워크로 자
                        리를 잡은 것이다. 이 당시에는 자바의 프레임워크가 다른 언어들보다 앞서가고 있었던 것이 사실

                        이다.


                        Ruby on Rails의 등장

                        하지만 불과 3년 후인 2004년, 자바와 다른 전혀 새로운 프레임워크가 등장했다. 루비 온 레일즈

                        (Ruby on Rails)였다. 레일즈(Rails)는 Struts와 다른 전혀 새로운 형태의 프레임워크였다. 복잡한 설
                        정 파일의 폐기, 클래스나 메서드의 명명 규칙을 사용한 설정, Model-View-Controller를 이용
                        한 화면과 데이터베이스를 분리시킨 구조, 명령어를 이용한 애플리케이션 자동 생성 등을 실현했
                        다. 그리고 스크립트 언어이므로 컴파일 없이 작성한 코드를 바로 반영해서 실행할 수 있었다.

                        데이터베이스를 이용한 애플리케이션을 얼마나 쉽게 작성할 수 있는가에 주안을 둔 것이 Rails로
                        이전보다 10배나 빨리 애플리케이션을 만들 수 있다고 알려졌다. 10분의 1의 시간으로 동일한 애플

                        리케이션 개발이 정말 가능했는지는 모르지만, Rails를 접한 후에는 Struts의 설계가 너무 구식으
                        로 느껴졌던 것이 사실이다.
                        Rails는 다른 언어들에도 영향을 끼쳤다. 레일즈스러운 프레임워크가 다른 언어들에도 생겨난 것

                        이다. 하지만 대부분은 스크립트 언어였다. 자바 같은 컴파일러 언어에선 코드를 변경해서 바로



                                                                                                      021





         spring_11.indd   21                                                                    2017-03-22   �� 10:13:59
   7   8   9   10   11   12   13   14   15   16   17