Web Technologies for Non Web Developers
Overview
지난 10년간 임베디드 및 모바일 S/W 분야에 몸 담았던 (Web 개발 초보자) 일인으로서 좀 복잡해보이는 웹 기술에대해 아는 수준에서 정리해보고자 한다.Big Picture
Web Application은 크게보면 얼굴을 담당하는 Front-end 기술과 모든 일을 뒤에서 처리하는 Back-end로 나뉜다. 어떤 기술들이 Front-end 쪽인지 Back-end 쪽인지를 제대로 구분할 수 있는 정도가 Web Application 개발자로서의 시작점이라 할 수 있겠다.
Front-end 기술의 가장 기본은 HTML, CSS, JavaScript이다. 더불어 동적 페이지를 보여주기 위해 AJAX라고 하는 기술용어도 등장한다. 이 기술들은 모두 사용자가 직접 보고 쓰는 UI를 멋지게 구성하기 위해 사용된다.
위와 같은 Front-end 기술들은 JavaScript 코드를 휠씬 쉽게 보기 좋은 UI를 구현할 수 있도록 도와준다.
Back-end 기술은 딱히 표준이란게 없고 기호에 따라 선택하여 사용한다. 각 IT 업체별로 자신만의 기술이 있고 오픈소스로도 다양한 기술들이 있다.
- MS - ASP.NET
- Oracle, IBM - Java EE (JSP)
- Google - Google App Engine (Java, Python, Go)
- Open Source
나처럼 처음 Web 기술을 접하는 개발자들이 가장 혼란스러워 하는 부분이 위처럼 너무 다양한 기술들이 있다는 것. 하지만 적어도 Front-end에 있어서는 공통적으로 익혀야할 기술이 있다. 바로 HTML, CSS, JavaScript. 어떤 Front-end Framework도 이 범주를 벗어날 수 없다. 사실, 이 기술들만 제대로 익히면 그 다음부터는 jQuery와 같이 맘에드는 기술을 골라서 reference 문서를 참고해가며 코딩을 하면 된다.
그래도, 너무 선택 조건이 많아 뭘 써야할지 판단이 안선다면 다른 사람들의 판단을 근거로 선택해보기로 하자.
Github Stars
Github 사이트에서 인기있는 Front-end 관련 프로젝트 순위는 다음과 같다. (단, 모든 Open Source 프로젝트들이 Github에서 관리되는 것은 아니므로 여기 나열한 순위는 오로지 Github 안에서만의 순위임을 감안하시길...)- Bootstrap
- jQuery
- html5-boilerplate
- impress.js - presentation framework based on CSS3 transforms and transitions
- d3 - JavaScript library for manipulating documents based on data
- three.js - JavaScript 3D library
- foundation -Responsive front-end framework
- node.js
- Ruby on rails
- Symfony - PHP framework
- Django
개인적으로 GAE을 이용하여 간단히 만들어본 웹 사이트들 참고:
Cloud for Backend
본격적으로 Web Application을 개발하여 돌려보기 위해서는 서버가 필요하다. 하지만, 개인적으로 비용을 들여서 서버를 구축하기에는 부담된다. 요즘에는 무료로 사용할 수 있는 Cloud 기반의 Web 개발환경(보통 PaaS라고 부른다.)이 여럿 있으므로 이를 활용해보도록 하자.- Google App Engine
- 시작은 무료 사용량에 따라 과금. Java, Python, Go 개발언어 지원. Google 만의 NoSQL DB 지원 및 MySQL RDB 지원.
- VMWare Cloud Foundry
- 현재 Beta 테스트 중으로 무료. 추후 과금 예정. Java Spring, Ruby on Rails, Node.js, Scala, Groovy, Grails ... 등의 개발언어 지원. MySQL, MongoDB 지원.
- RedHat OpenShift
- 시작은 무료. 확장을 위해서 과금. Java, Ruby, Node.js, Python, PHP 등 지원. MongoDB 지원.
- EngineYard
- 시작은 무료. 사용량에 따라 과금. Ruby, PHP, Node.js 지원. DB는 MySQL, PostgreSQL 지원.
- Microsoft Azure
- 사용량에 따라 과금. ASP.NET, Node.js, Java, PHP, Python 지원. MS SQL 서버 지원.
- Oracle Java Cloud
- 사용량에 따라 과금. Java만 지원. Oracle DB에 대해서는 따로 돈을 내고 Cloud에서 사용가능.
더 많은 목록을 보고 싶다면 http://blog.huchunhao.com/current-and-upcoming-cloud-platforms 사이트 참고.
마지막으로 위에 언급한 스크립트 언어들을 전혀 사용해본적이 없다면 http://www.codecademy.com/ 사이트에서 배워보는 것도 좋겠다.
댓글
댓글 쓰기