웹 개발자 전상서(前上書)

아래 글은 월간 웹 2008년 1월호에 칼럼으로 게제된 원고의 초본입니다.

다사다년 했던 한 해를 마무리하고 희망찬 새로운 한 해가 시작되었습니다. 지난 한 해는 다양한 신 기술들이 한꺼번에 쏟아져 나오는 격동의 시기였습니다. 웹 개발자들에게는 신기술을 채용해야 할지에 대한 혼란과 새로운 모험이 교차 되는 한 해였습니다.

이는 전 세계적인 웹 기술 변화와 무관하지 않습니다. 2004년부터 태동한 웹2.0이라는 유행은 2005년 회의론과 낙관이 교차했지만 2006년에 다양한 신생 기업들이 비즈니스로서 접목하기 시작해 작년에는 이미 대세에 들어섰습니다. 변화는 비단 미국 실리콘 밸리 뿐만 아니라 글로벌 트렌드가 되었습니다.

특히 유튜브, 마이스페이스, 페이스북 등 신생 기업의 성공 사례들은 아직도 웹 비즈니스에서 성공 가능성이 적지 않다는 점을 보여 주고 있습니다. 이런 이유로 웹 기술 분야에서도 웹2.0을 기반한 사용자 참여와 개방의 철학을 가진 플랫 기술, 풍부한 사용자 경험과 빠른 개발을 위한 기술 변화 등이 두드러지고 있습니다.

사용자 경험을 위한 웹 표준 기반 기술

작년 한해 동안 웹에서 사용자 경험을 데스크톱 소프트웨어 수준으로 확대하는 기술들이 대거 출현하였습니다. 기존 액티브엑스와 플래시를 대체할 수 있는 데스크톱 런타임들로 마이크로 소프트의 실버라이트(Sliverlight)와 어도비의 플렉스(Flex) 등이 있습니다. 따라서 에이젝스(Ajax)로 대변되는 웹 표준 개발 방식은 새로운 변화가 일어날 것으로 보입니다.

특히 올해는 웹 브라우저 업체들이 주요 버전을 앞다투어 출시할 예정에 있습니다. 연초에 전 세계 점유율 15%를 점하고 있는 모질라 파이어폭스 3와 모바일과 웹 표준에 집중하고 있는 오페라 10 그리고 윈도우까지 영역을 넓히고 있는 사파리 3까지 다양한 신기술을 탑재한 웹 브라우저들이 대거 나타날 것입니다. 이에 발 맞추어 마이크로소프트도 IE8을 곧 출시할 예정입니다.

새 웹 브라우저들의 주요 특징은 한마디로 문서 위주의 웹이라는 기본 바탕 위에 풍부한 사용자 경험을 추가할 수 있는 새로운 표준들을 탑재하는 것입니다. 이를 위해 W3C에서 HTML5라는 표준을 제정 중에 있으며 상반기에 구현이 검증된 작업 문서(Working Draft)로 발표할 예정입니다. 즉, 기존 웹 브라우저에서도 다양한 멀티미디어 재생 및 혼합, 각종 벡터 그래픽 효과를 이용할 수 있으며 드래그 앤 드롭 같은 동적 효과와 다양한 입력 양식 등을 이용해 볼 수 있게 됩니다. 이러한 변화를 미리미리 탐구해 보시기 바랍니다.

빠르고 효율적인 플랫폼 전성 시대

데스크톱과 서버 컴퓨팅 파워가 급격히 성장하는 동안 프로그래밍 언어의 변화도 간과할 수 없습니다. 과거 메인 프레임과 대형 서버에서 컴파일 언어를 주로 이용하던 데 비해 현재는 효율성 높은 인터프리터 언어가 각광 받고 있는 시대 입니다. 2000년대 초반 펄(Perl), PHP, 파이썬(Python) 등의 언어들이 이러한 변화의 시작이었으며, 서버 기반 개발에만 이용되던 언어들이 벌써 프론트엔드와 데스크톱 애플리케이션에도 적용되고 있습니다.

대표적으로 자바 스크립트와 액션 스크립트의 원조격인 ECMAScript의 성장을 들 수 있습니다. 객체 지향 기법을 강화하고 다른 언어의 훌륭한 특징들을 모아 최근 새로운 규격을 만들고 있습니다. 약간의 진통이 계속되고 있지만 기존 자바스크립트의 우수성을 그대로 담으면서 ECMAScript 내에 루비(Ruby)나 파이썬과 같은 동적 언어를 사용 가능한 방식으로 변화해 나갈 것입니다. 마이크로소프트에서도 이미 닷넷 개발 프레임웍 위에 DLR(Dynamic Language Runtime)이라는 방식으로 비슷한 시작하였습니다.

가끔 어떤 분들은 무슨 언어를 배워야 할지 물어 보십니다. 관건은 특정 언어나 기술에 초점을 맞출 것이 아니라 자신의 웹 사이트에서 맞는 적당한 도구(Tool)을 골라 사용할 수 있는 능력을 기르는 것입니다. 특히 동적 언어를 기반한 각종 MVC 프레임웍은 빠르고 효율적인 개발이 가능하도록 도와 주고 있습니다. 예를 들어, 루비 온 레일즈(Ruby on Rails), 장고(Django), 케익 PHP(CakePHP) 등은 프로토 타입 개발 및 소규모 웹서비스 개발에 매우 빠른 효율을 제공합니다. 여러분의 프로젝트에 특성에 맞게 변화를 추구해 보십시오.

오픈 소스 참여, 적극적인 기술 공유

인터넷이 발전하고 난 후 가장 뚜렷한 변화는 정보의 독점이 더 이상 불가능해졌다는 것입니다. 웹을 통해서 사람들이 서로 대화하고 다양한 정보들을 공유하는 것이 일반화 되었습니다. 이러한 공유 문화의 토대에는 오픈 소스로 대변되는 개발자 문화가 있었습니다. 과거 오픈 소스는 긱(Geek)들의 전유물로 여겨진 적이 있었으나 현재 수 많은 웹 서비스와 개발 플랫폼이 오픈 소스를 기반하고 있습니다.

기업들도 커뮤니티 기반 개발 모델을 흡수하고자 자사의 소프트웨어를 오픈 소스로 전향하거나 기존 오픈 소스 결과물을 적극적으로 채용하고 있습니다. 최근 파이어폭스의 성공, 자바(Java)의 오픈 소스화, 앞서 언급한 각종 웹 기반 플랫폼의 성장 등은 이러한 것을 반증해 주고 있습니다.

따라서 정보 공유와 적극적 대화를 통한 장벽 없는 협업 개발 방식에 적극적으로 참여하여 여러분의 지식과 입지를 넓혀 보십시오. 먼 곳에서 찾지 마시고 여러분이 사용하고 있는 오픈 소스 프로그램부터 시작하시기 바랍니다. 코딩 뿐 아니라 테스트와 버그 보고, 문서화, 번역 활동에 참여하고 주변 개발자와 만나고 대화하는 것만으로도 여러분에게 큰 변화를 줄 것입니다.

웹을 건강하게 만들어 주십시오!

오늘도 불철주야 이 땅의 인터넷 사용자를 위한 멋진 웹 서비스 개발에 전념을 다하고 계신 웹 개발자 여러분! 전 세계적으로 환경 오염과 지구 온난화로 인한 기후 변화가 인류를 위협하고 있습니다. 이는 우리가 산업 시대에 자연 환경을 지키고 건강하게 유지 하는 일을 등한시 하였기 때문입니다.

여러분이 하는 일은 오프라인에서는 존재하지 않는 것들을 온라인에서 창조하고 개척하는 것입니다. 시공간적 제약에서 벗어나 전 세계 모든 사람이 만날 수 있는 온라인 공간의 창의적이고 보다 건강한 생태계로 만드는 분들입니다. 그렇기 때문에 웹이 나쁜 정보로 오염 되고 특정한 기술로 지배되는 폐해를 막아야 하는 분들이기도 합니다. 기술 창조자로서 적극적인 사고와 신중한 선택이 요구됩니다.

마지막으로 여러분이 하는 일이 지금 당장 어렵고 힘들지라도 값진 경험으로 후일 좋은 결과로 되돌아 올 것입니다. 올 한해도 건승하고 행복한 코딩 되시기 바랍니다.

2008년 1월 윤석찬 드림.

- ;

Disclaimer- 본 글은 개인적인 의견일 뿐 제가 재직했거나 하고 있는 기업의 공식 입장을 대변하거나 그 의견을 반영하는 것이 아닙니다. 사실 확인 및 개인 투자의 판단에 대해서는 독자 개인의 책임에 있으며, 상업적 활용 및 뉴스 매체의 인용 역시 금지함을 양해해 주시기 바랍니다. 본 채널은 광고를 비롯 어떠한 수익도 창출하지 않습니다. (The opinions expressed here are my own and do not necessarily represent those of current or past employers. Please note that you are solely responsible for your judgment on checking facts for your investments and prohibit your citations as commercial content or news sources. This channel does not monetize via any advertising.)

여러분의 생각 (4개)

  1. A2 댓글:

    좋은 글 잘 읽었습니다.
    저도 건강한 웹을 만들기 위해 노력하겠습니다. ^^

  2. SkyKiDS 댓글:

    좋은 글 잘 읽었습니다. 초보 프로그래머(라고도 불리기 힘든 사람)이지만, 행복한 코딩을 하고 있으니 다행입니다. 저도 (오픈소스 등에) 작은 도움이 되었으면 하는 바램입니다.

  3. 황상철 댓글:

    신년에 마음을 다잡기에 정말 좋은 글이네요. 좋은글 잘 봤습니다.

  4. 신진성 댓글:

    그래도 어려운 글이네요….멀해도 어려운….