현재 사람들이 가장 많이 개발하는 애플리케이션의 형태는 단연 웹앱(또는 웹애플리케이션)이다. 사람들은 더 이상 웹페이지를 단순한 페이지로만 보지 않고, 많은 애플리케이션을 구동할 수 있는 기능을 가진 웹앱의 형태로 간주한다. 가장 큰 이유는 물론 스마트폰의 혁명으로 인한 것도 있겠지만, 윈도우와 리눅스, 맥 OS, 심지어 iOS와 안드로이드에 이르기까지 웹브라우저만 있다면 어디서나 동일하게 표현되는 애플리케이션의 표준이라고 믿기 때문이다. 하나의 웹앱만 개발해 놓으면 각종 디바이스에서 동일하게 사용이 가능하니 어느 개발자가 마다할 것인가?
초판에 이어 이번 개정판에서도 동적 웹페이지를 구성하는 PHP와, 사용자의 데이터를 저장하는 MySQL, 사용자의 웹페이지에서 이벤트를 처리하는 자바스크립트를 모두 소개한다. 추가로 웹의 외관을 담당하는 핵심 기술인 CSS 기능을 상세하게 다룸과 동시에 PHP와 자바스크립트 기능과의 연관성을 설명한다. 우선, 서버 측에서 동적인 웹페이지를 생성하는 PHP 기술에 대해 알기 쉽게 설명한 기본 문법과 사용 방법, 그리고 사용 예까지 모두 자세히 설명하기 때문에, 이 책에 나온 순서대로만 따라 하면 훌륭한 동적인 웹페이지를 자유자재로 구성할 수 있다.
그리고 사용자에게 보여주거나, 사용자가 직접 입력한 정보를 저장하는 데이터베이스인 MySQL을 소개한다. MySQL은 무료로 쓸 수 있는 데이터베이스 중 가장 강력한 기능을 제공한다. 또한, 손쉽게 데이터베이스를 구성할 수 있는 여러 가지 툴도 제공하기 때문에, 개발 시간을 상당히 단축해 주며, 완성도도 높일 수 있다. 이 책에서는 MySQL에 직접 들어가서 조작할 때 사용하는 SQL 문법과 예제를 쉽게 따라 하며 익힐 수 있는 형태로 함께 제공한다.
또한, 사용자 측면에서 동적인 동작을 제공할 수 있는, 그야말로 가장 ‘핫한’ 프로그래밍 언어인 자바스크립트를 소개한다. 자바스크립트는 오랜 역사 속에서 기억되어 온 기능적인 프로그래밍 언어(functional programming language)의 새로운 저변을 확대했다고 할 수 있다. 선언적 언어의 특성도 그대로 갖추고 있어서, 개발 시에 익히기도 쉽다. 하지만, 문법과 사용 방법, 그리고 웹페이지와의 연동에 대해서는 많은 부분을 익히고 연습할 필요가 있다. 특히, 사용자의 웹페이지를 다시 불러오지 않고(refresh), 데이터를 처리할 수 있는 Ajax 기술은 많은 가능성을 제시한다. 이 책에서는 이에 관한 내용을 자세히 설명하고, 예제를 제공한다.
마지막으로 웹의 외관을 동적으로 변경할 때 없어서는 안 될 CSS에 대해 설명한다. CSS의 첫 번째 장점을 들자면, CSS는 HTML이나 PHP 파일과는 무관하게 독립적으로 정의할 수 있기 때문에 향후에 HTML이나 PHP 파일을 변경하지 않고도 외관을 전체적으로 변경할 수 있다. 그리고 변경하길 원하는 요소를 쉽게 찾고, 수정할 수 있으며, 이미 내장된 동적인 기능을 자바스크립트의 도움 없이 쉽게 사용할 수도 있다. CSS를 한번 쓰기 시작하면 놀라운 기능에 감탄할 것이다.
바야흐로 웹의 시대다. 웹의 시대에서는 전문적으로 웹을 만드는 개발자가 아니더라도, 컴퓨터와 관련된 일에 종사하다 보면 웹 기술과 관련된 일은 꼭 발생하게 마련이다. 가령, 어떤 시스템을 개발하든 간에 가시적인 인터페이스를 만들라치면 특정 플랫폼에서만 돌아가는 독립형(stand-alone) 애플리케이션보다는 웹과 연동해서 언제 어디서든 접근할 수 있게 만드는 쪽을 선호한다.
이 책에서 제공하는 기술만 완전히 익히면, 웹 프로그래머로서의 기본은 모두 갖췄다고 할 수 있다. 이 책을 번역한 역자로서 궁극적으로 바라는 바는 책에서 제공하는 소셜 웹 예제를 더욱 발전시켜, 본인 스스로 소셜 네트워크를 구성하는 웹을 만들고, 페이스북과 정면 대결하는 상상을 해보는 것도 많은 자극이 될 것이다.
웹 개발이 당장 필요하거나, 미리미리 대세를 앞서 배우려는 독자에게 이 책을 강력히 권한다. 한국에서 마크 주커버그 같은 소셜 네트워크의 귀재가 나오기를 기대해 본다.
---「옮긴이의 말」