지금으로부터 십수 년 전 내가 처음 경험한 자바스크립트는 신세계였다. 어떤 정적인 HTML 페이지도 자바스크립트 몇 줄만으로 유려함과 화려함을 더할 수 있었다. 이러한 유용성뿐만 아니라, 웹에 관심이 있었던 사람이라면 누구나 쉽게 활용해 웹 페이지에 생명을 불어넣을 수 있는 편의성까지 있었다.
그 후로도 자바스크립트는 지속적으로 발전해 모바일 앱 개발은 물론, 이제는 Node.js같이 브라우저의 경계를 넘나들고 있다. 나아가 방대하게 구축된 자바스크립트 라이브러리의 에코시스템을 통해 개발자는 다양한 애플리케이션을 쉽고 빠르게 만들 수 있다.
하지만 자바스크립트가 더 많은 수요에 대응할수록 사용하기에 난해해진 것 또한 사실이다. 장황하고 복잡한 코드와, 코드의 가독성을 떨어뜨리는 괄호 및 세미콜론의 홍수에 진절머리가 난 경험은 자바스크립트 사용자라면 누구나 한 번씩 겪어본 일일 것이다.
이러한 상황에서 커피스크립트의 등장은 무더위 속의 시원한 소나기 같았다. 커피스크립트는 첫째, 코드의 간결한 작성을 가능하게 하고, 둘째, 개발 생산성을 높일 수 있는 다양한 기능을 제공하며, 셋째, 일반적인 함수형 언어의 특징을 가지고 있으면서 루비나 파이썬과 유사한 형태의 문법을 사용한다는 장점이 있다.
마지막으로 놀라운 점은 이러한 장점을 갖춘 커피스크립트가 자바스크립트에서 완벽하게 컴파일될 뿐만 아니라, 많은 인기에 힘입어 Node.js와 Rails 3.1을 지원한다는 점이다.
이 책에는 커피스크립트와 함께 다양한 단말 환경에서 실행되는 애플리케이션을 함께 만들어 볼 수 있는 예제가 가득하다. 예제에 따라 직접 애플리케이션을 개발해 볼 수 있는 환경 설정에서부터 다양한 단말 환경에서 실행되는 앱의 개발, 클라이언트가 통신하는 백엔드 서비스 개발, 테스트, 나아가 클라우드 호스팅 솔루션에 대한 배포 방법과 서비스의 운영 시 참고할 수 있는 팁까지 가능한 한 자세히 다루고 있다.
내가 개발자로 일하기 시작한 초창기에 자바스크립트를 사용해 웹 페이지를 개발하고 실제 적용하면서 순간순간 느꼈던 두근거림, 기쁨, 성취감을 기억한다. 그리고 지금까지 개발하면서 필연적으로 따랐던 크고 작은 시행착오를 떠올려본다. 지금까지 그래왔듯이 앞으로도 IT 기술의 발전과 더불어 확장에 확장을 거듭할 방대한 웹 세상 속에서, 이제 긴 여정을 시작하는 새내기 개발자들에게 이 책이 작지만 밝은 빛을 내는 하나의 등대가 될 수 있다면 더할 수 없는 기쁨일 것이다.