웹 프론트엔드는 정말 쉽습니다

웹 프론트엔드는 C 언어나 C++같은 언어와는 다르게, 아주 쉬운 언어인 HTML, CSS, JavaScript로 이루어져 있어, 입문자도 접근하기 쉽고 누구나 몇 주만 공부하면 웹 페이지를 개발할 수 있습니다.

HTML은 Hyper Text Markup Language의 약자로, 실질적인 첫 표준인 HTML 2.0부터 현재까지 약 20년간 꾸준히 발전해온 웹 개발 언어이며, 웹페이지에서 보여주는 콘텐츠는 HTML을 통해 보여주게 됩니다.

HTML은 콘텐츠 모델, 시맨틱 마크업, 접근성 등을 고려해서 구현해야하며, 사실 자바스크립트를 어떻게 구현하는 지, 서버 사이드 언어가 어떤 언어인 지에 따라서, 더 나은 HTML을 어떻게 구현할 것인 지에 대한 고민이 필요합니다.

물론 HTML5에 들어서면서 더 쉬워졌습니다! 우리가 이제 공부해야하는 것들은 HTML5에서 추가된 API들과 새로운 콘텐츠 모델, 어떤 속성을 어떤 브라우저에서 사용할 수 있는 지, 어떤 브라우저가 이 요소를 지원하는 지, 레거시 브라우저에서 어떻게 내 웹사이트를 보여줄 지 고민만 하면 되기 때문이죠.

CSS에 들어가면 더 쉬워집니다. 특히 CSS3는 웹 프론트엔드를 더 쉽게 만들어주었죠. 이제 지긋지긋한 레이아웃은 CSS3 Flex를 이용해서 구현하면 되고, 애니메이션은 CSS3 Animation이나 CSS3 Transition을 사용하면 됩니다. 물론 애니메이션의 프레임과 웹 사이트의 성능을 고려해서 어떤 속성을 이용하여 애니메이션을 구현할 지 고민해야겠지만, 사실 그런 고민을 하지 않더라도 요즘 브라우저가 워낙 성능이 좋아서 충분히 성능을 내줍니다! (정말?)

또한 부트스트랩이라고 부르는 CSS 프레임워크를 사용하면, 누구나 손쉽게 짧은 시간에 웹사이트를 만들 수 있습니다.

이제 우리가 고민해야하는 것들은 사실 그 외의 더 단순한 문제입니다. 브라우저 간 크로스 브라우징, 클래스를 어떻게 관리하는 게 더 효율적일 지, CSS를 어떻게 구현해야 상속체계를 잘 이룰 지, Progressive Enhancement 등에 의거하여 어떻게 더 나은 사용성을 줄 지, 반응형 웹 디자인을 하고자 할 때 어떻게 분기를 할 것인 지, 새로운 CSS3 속성이 나올 떄 어떻게 사이트에 녹여낼 지, 레거시 브라우저에서 지원하지 않는 CSS를 어떻게 해야할 지, vendor prefix를 언제까지 붙일 지 말 지 등, 아주 단순한 문제만 해결하면 되겠군요.

JavaScript, 오 자바스크립트. 자바스크립트는 넷스케이프 브라우저에 처음 도입되어 많은 우여곡절을 겪은 끝에, ES2015라 불리는 새로운 표준이 나오면서 드디어 많은 부분이 해소되고 있는 느낌입니다.

사실 자바스크립트가 아니더라도 jQuery를 사용하면 누구나 쉽게 개발을 할 수 있죠. jQuery를 실무에서 누구나 쓰기 때문에 자바스크립트는 굳이 알 필요가 없습니다! 자바스크립트라는 언어는 그저 jQuery를 위한 언어일 뿐이에요!

요즘이 어떤 시대인데 Native JavaScript를 이용해서 구현을 하겠어요. 그러니 그냥 JavaScript는 논외로 하고 jQuery나 공부합시다 우리.

많은 교육기관의 대두, 잘못된 정보

요즘 꽤 많은 교육기관이 페이스북에 보이기 시작했습니다. 저는 패스트캠퍼스라는 교육기관과 함께 교육을 하고 있습니다. 즉 제가 많은 교육기관을 욕할 권리는 없다는 것이죠. (저도 어차피 그 부류니까)

즉, 제가 아니더라도 HTML, CSS를 공부할 수 있는 기관은 아주 많고, 제가 그들의 강의를 다 들어본 게 아니니 멋대로 평가할 권리도 없습니다.

하지만 그럼에도 불구하고 가장 큰 문제는 교육기관이 너무 많다는 것입니다. 수강생은 누구나 원하고자 하는 바를 이루기 위해서 교육기관에 방문할 것입니다. 그런 수강생들에게 교육기관이 해야하는 일은, 제대로된 정보를 잘 알려주는 것입니다.

하지만 과열 경쟁의 끝은 결국 잘못된 정보의 제공을 야기합니다. 만약 제가 위에서 나열한 내용과 같은 내용이 교육기관에서 알려주거나, 혹은 누구나 쉽게 웹사이트를 만들 수 있다 등의 내용이 존재한다면, 그는 굉장히 위험한 커리큘럼일 가능성이 높습니다.

자극적인 문구는 유저를 끌어모으겠지만, 그 끝에 도달하는 건 결국 어중간한 지식과, 어중간한 정보, 그리고 어중간한 자신감 뿐입니다.

제가 굳이 이 글을 쓰는 이유는 제 강의 홍보도 아니고, 한 사람의 프론트엔드 개발자, 특히 HTML과 CSS를 주력으로 하는 사람으로써, 충분히 경계해야할 필요가 있다고 생각했기 때문입니다.

어중간한 지식은 어중간한 자신감을 야기합니다.