반응형
반응형

개발 배우기가 정말 어려운 이유  https://www.thinkful.com/blog/why-learning-to-code-is-so-damn-hard/

 

Why Learning to Code is So Damn Hard | Thinkful

What every beginner absolutely needs to know about the journey ahead.

www.thinkful.com



무료 코딩학습사이트에서 코딩을 몇 개월 배우고, 
이것도 조금 배우고, 저것도 조금 배우다가 결국 거의 모든 온라인 강좌는 다 들어본 정도가 되어도 
마지막에 개발자로 취업하기엔 어려움이 있다. 


1단계: 강의로 학습하며 솟아나는 자신감

코딩은 누구나 배워야 한다고 요즘 얘기합니다. 
덕분에 코딩에 대한 진입장벽도 많이 낮아졌고, 생각보다 그렇게 어렵지 않다는 사실을 보여주기도 합니다. 
codecademy 나 생활코딩 같은 웹사이트에서 얻을 수 있는 많은 학습자료 덕분에 
우리 모두가 코딩을 배울 수 있다 수준이 아니라 개발자가 될 수 있다는 자신감을 얻울 수 있게 되었죠. 
결국 문제는 학습에 대한 공포가 아니라 지나친 수준의 기대와 환상이 되어버린 것입니다. 

입문자를 위한 자료들은 대부분 무시무시한 변수와 조건문을 거쳐 기초단계의 프로그래밍 문법을 학습하도록 잘 지도해줍니다. 
마치 어린이가 횡단보도를 잘 지나가도록 가르쳐주는 것과 같다랄까요? 
마치 게임처럼 하나를 배우면 자신감은 하늘을 치솟게 됩니다. 다 할 수 있을겉만 같아. 난 이미 개발자라고!

하지만 한여름 밤의 꿈과 같은 단계에 있다고 할 수 있습니다. 마치 반환점을 돈 것 같이 느껴지지만, 
먼 여행길에서 아주 조금 와 있는 것에 불과합니다. 시작에 불과하다구요...



개발 학습의 일반적인 4단계을 봅시다.

1. 강의로 학습하며 자신감이 솟아나는 단계 (The Hand Holding Honeymoon) : 재미와 즐거움으로 가득찬 단계입니다. 조금 어려워는 보이지만, 자료가 잘 정리되어 있고 지원이 빵빵하기에 여러분은 잘 해낼 수 있을 겁니다. 기본적인 문법을 배우고 높은 수준의 성취도를 느낄 것입니다.

2. 혼돈의 카오스 (The Cliff of Confusion) : 강의를 다 봤고 강좌를 모두 수료하고 난 뒤에 느끼는 단계입니다. 생각보다 모든 것이 어렵고 고통스럽다는 사실을 자각하게 됩니다. 아직 스스로 무언가를 할 수 있는 단계가 아니라고 생각이 들 것입니다. 계속 디버깅을 하고 있고 여러분 스스로 무언가를 위해서 어찌저찌 시도해보고 있긴 하지만, 다른 사람들에게 어떻게 질문해야 잘 물어봤다고 할 수 있을 지 명확하지 않은 단계입니다.

3. 절망 한 가운데에 놓임 (The Desert of Despair) : 아주 지리밀렬하고 지루한 단계입니다. 새로운 길 하나하나가 옳은 것처럼 보이지만 나 자신은 원을 그리듯 제자리 걸음입니다. 어려움을 이겨낼 수 있는 자료를 찾아 계속 돌아다닙니다. 마치 사막에서 어디에 홀린 마냥, 사람들의 열광 속에서 신기루에 빠지지 않도록 조심하세요. 자칫하다간 잘못된 길에 빠지고 말 것입니다.

4. 놀라운 성장 (The Upswing of Awesome) : 사막 속에서 결국 길을 찾아내고야 말았습니다. 어떻게 개발해야 하는 지에 대한 이해가 생겼을 때입니다.

여전히 여러분의 코드는 여전히 어디엔가 갇혀진 느낌이고 깨지기가 쉽습니다. 다만, 여러분은 아무튼 작동한다는 사실에서 자신감을 얻게 되지요. 유용한 몇몇 패턴에 익숙해지고, 친구들은 여러분이 만든 화면이 엄청 대단하다고 느끼구요. 하지만 코드를 정작 까 보는 것에 여전히 두려워하고, 자신있게 내세울 수 있는 수준의 코드(production-ready)를 짜는 방법에 대해 결국 찾지 못한 상태입니다. 어떻게 해야 실제 취업이 요구하는 수준까지의 기술 격차(gap)을 줄일 수 있을까요.


2단계: 혼돈의 카오스
여러분은 지금 1단계에 있습니다. 강의를 통해 자신감을 얻고 있는 단계죠. 코딩 문제들도 하나씩 풀고, 뱃지도 얻고 여러분의 자신감은 무럭무럭 자라나고 있습니다. 나쁘지 않은데, 왜 코딩 배우기가 어렵다고 저렇게 난리지? 이렇게 생각하신다면 여러분은 자신감의 끝을 달리시고 있는 겁니다. 조심하셔야 합니다.. 이제 많은 초심자들을 좌절시킨 절벽으로 떨어지고 있으니까요. 이 절벽에 다다르는 순간은 바로 아무런 힌트나 예제 코드, 브라우저 상에서 돌아가던 학습용 에디터가 사라지고, 그 대신 텍스트 편집기를 열어서 처음부터 모든 것을 다시 짜야할 때 벌어집니다.
 

튜토리얼을 따라하면서 조금 더 버틸 수 있을 지도 모르겠습니다. 하지만 땅을 포기하지 않는 자가 하늘에 다다를 수는 없는 법이죠. 아무 것도 없는 텍스트 파일 하나에서 말 그대로 '마법'을 일으켜야만 할 지도 모릅니다 (...) 이렇게 느껴지신다면 여러분은 2단계에 도달한 셈이 됩니다. 자신감은 땅으로 꺼지고, 혼돈의 카오스를 맛보게 되는 것이지요.

아무튼 계속 코딩을 하긴 합니다. 스스로 자신만의 길을 만들고 대충 돌아가기는 하는데 뭔가 빠진 것 같은 느낌입니다. 버그 잡으려고 고생하다보면, 스타쉽 트루퍼스라는 영화가 마치 상냥하고 친절한 것처럼 느껴집니다. 구글링 어쩌다 한 번 잘해서 버그 하나 잡았지만, 할 수 있는 게 겨우 검색 하나 두들겨 보는 것 뿐이라는 생각에 자신감은 땅으로 떨어집니다.

사실 이 단계는 교육자로서나 산업에 종사하고 있는 사람들로서나 모두에게 고통을 줍니다. 우리는 개발이 모두에게 딱 맞지는 않더라도, 공부하시는 여러분만큼은 꼭 이겨내셨으면 좋겠어요. 왜냐하면 정말 안될 것 같은 경우도 엄청난 성공사례가 되기도 하기 때문이거든요.

모든 교육기간이 끝났습니다. 절벽에서 밀려나 이제는 정말로 날아야만 할 때, 가능성이 있는 친구들이 날개를 펴는 방법을 배우지 못한 채 좌절의 나락에서 맴돌고 있는 모습을 많이 보게 됩니다. 정말로 무서운 것은 아직 제대로 시작도 못해봤다는 것입니다. 혼돈의 카오스를 겪게 되는 2단계는 아직도 너무 초기 단계입니다. 정말 많은 수의 버그를 잡아보세요. 그 때 여러분은 반드시 2단계를 끝낼 수 있을 겁니다. 여러분은 아직 시작에 불과하십니다.

진정으로 개발자로써 커리어를 만들어나갈 준비가 된 사람들은, 이 혼돈의 카오스 단계에서 살아남는 것이 새로운 인생의 반환점이 됩니다. 개발에 올인해야지 하고 생각하는 것이지요. 많은 사람들은 여기서 떨어져 나갑니다. 하지만, 여러분은 이제 절망 한 가운데에 놓이게 될 것입니다.

학습 여정에 중요한 포인트 두 가지가 있어요.

 첫 번째 단계와 나머지 단계의 차이점이 뭐라고 생각하시나요? 왜 2단계가 1단계보다 더욱 끔찍하고 무시무시한가요? 이 차이를 이해한다면, 학습에 어려움을 겪는 것이 여러분 자기자신의 문제점이 아니라는 사실을 깨닫게 될 것입니다
 
 포인트 1: 학습 자료가 얼마나 풍부한가 (Resource Density)
   여러분을 코딩의 세계로 이끌어 줄 자료는 정말 수 없이 많이 있습니다. 구글에 영어로 "Learn to Code" 라고 검색해보세요. 정말 양질의 자료가 너무너무 많이 나옵니다. 솔직하게 말해서 정말 좋습니다. 이렇게나 코딩을 학습하기에 좋았던 적도 없었거든요.
   
   하지만 그 뒤의 단계로 갈 수록 학습 자료들이 정말 빠른 속도로 부족해집니다. 초심자에서 중급자로 넘어간 사람들은 쉽게 공감할 수 있을 것입니다. 여러분이 처음 코딩을 배워야겠다고 마음을 먹은 순간을 생각해보세요. 여러분이 다른 사람의 지도와 안내 없이 스스로 무언가를 만들다가 질문을 해야 하는 상황에 처음으로 놓였을 때를 생각해보세요. 학습 자료의 차이를 쉬이 실감할 수 있을 것입니다.

   학습자료는 소위 3단계에 진입하게 되는 시기, 즉 학습해야 하는 지식이 많아질 수록 급격하게 부족해집니다. 이것이 제가 3단계를 "좌절의 계곡" 이라고 이름을 붙인 이유입니다. 이 단계를 지나면 검색을 통해 필요한 것을 찾는 것이 습관이 되고, 기술 블로그나 컨퍼런스 발표자료와 같이 기술 자료를 학습하면서 업무를 할 수 있게 됩니다. 어떤 질문을 던져야 할 지를 이해할 수 있게 되는 것도 있겠습니다.

   아래의 도표는 각 단계마다 학습자료의 양이 어떻게 변화하냐를 보여주는 것입니다. 선이 두꺼울 수록 더 많은 자료가 있다는 것으로 이해하면 됩니다.


 포인트 2: 학습할 지식의 범위 (Scope of Knowledge)
    학습을 처음 시작할 때 알아야 하는 것은 사실 그리 많지 않습니다. 개발을 배우는 목적이 무엇이든, 어떠한 언어로 학습하든 for 반복문, 조건문과 같은 기본적인 프로그래밍 문법을 익히는 것은 너무 당연한 일입니다. 처음 시작할 때에는 뭔가 대단한 기초지식을 배우는 것이 아니기에 학습할 지식의 범위가 넓지는 않습니다.

    기초 단계에서 벗어나게 되면 여러분이 배워야 하는 지식의 범위가 엄청나게 넓어짐을 실감할 수 있을 것입니다. 그리고 배워야 하는 것들도 점점 어려워집니다. 에러를 이해해야 하고 언제 이 코드를 써야 하는 지 알아야 하고 어떻게 사용하는 지 알아야 합니다. 사실 질문에 명확한 답이 없다는 것이 차이점입니다. 혼돈의 카오스죠.

    이제 3단계로 갑니다. 지식의 범위는 더 넓어집니다. 여러분은 어떠한 툴을 사용할 지를 알고 이해해야 하구요, 어떤 언어를 배워야 하는 지도 알아야 하구요, CS지식도 있어야 하구요, 모듈화에 대해서도 알아야 하구요, 객체지향에 대해서도 알아야 하구요, 좋은 코드 스타일이 뭔지에 대해서도 고민해봐야 하구요, 어떻게 질문을 던져야 하는 지에 대해서도 배워야 하구요. (정말 몇 가지만 이야기한 것입니다.) 구글링을 해봐도 무슨 두더지 잡기 게임하는 것만 같고 모르는 내용에 압도되기 십상이고 대체 무슨 소리인지 모르겠지만 다 보기는 해야 할 것 같고 막 그렇습니다.


계속 성장하는 방법
여정은 정말 빡세보이고 힘들어보입니다. 솔직히 말하면 종종 그렇습니다. 중요한 것은 여러분이 어느 상태에 있는 지 아는 것입니다. 특히 여러분이 혼자 공부한다면 더욱이 그렇습니다. 하지만 꼭 그럴 필요는 없습니다. 대부분의 경우에 적용할 수 있는 팁들이 있기 때문이지요. 코딩을 배우는 것은 사람들이 생각하는 것만큼 쉽지는 않지만, 절망할 것처럼 그렇게 깊이 어려운 것도 아닙니다. 여기서는 올바른 방법으로 갈 수 있는 팁에 대해 설명해보도록 하겠습니다.

1단계에서 살아남는 방법
정말 많은 종류의 학습 컨텐츠가 있습니다. 코딩에 대해 쉽게 입문할 수 있도록 해줍니다. 두 가지 팁을 꼭 명심하도록 하세요.



1. 여러 다양한 컨텐츠로 시작해보세요. 어떻게 배우는 것이 여러분에게 딱 맞는 방법인지 학습하 수 있을 것이고, 어떤 프로젝트가 흥미로운 지 발견할 수도 있을 것입니다. Khan Academy의 챌린지나 생활코딩의 WEB 강좌, 또는 노마드 코더의 클론코딩, 커넥트재단의 부스트코스, 인프런 강좌, 스터디파이 등이 될 수 있을 것입니다. 처음 시작할 때는 열린 마음을 가지되, 무엇을 꼭 배워야 한다느니 하는 소리에는 신경쓰지 않으셔도 됩니다. 기초 단계에서는 어짜피 다 비슷하거든요.



2. 여러분과 잘 맞다고 생각드는 컨텐츠 하나를 골라보세요. 그리고 그 컨텐츠 하나에 집중하세요. 처음부터 끝까지 다 들어보세요. 기초 스크립트와 앱 등 모든 기본 지식을 끝까지 다 들어보시고, 스스로 만들어보는 연습을 하세요.



2단계에서 살아남는 방법
거의 대부분의 사람들이 2단계를 겪을 것입니다. 왜냐하면 개발자가 되는 방법은 직접 개발을 하는 것이기 때문이죠. 여러분은 튜토리얼을 해보면서 직접 자신이 만들었다고 생각할 지도 모릅니다. 하지만 튜토리얼 따위를 몰아내는 것은 아주 필수적인 일입니다. 튜토리얼은 처음에는 좋지만 이제 스스로 걸음마도 좀 해봐야죠. 그래야 진짜 세계를 볼 수 있습니다.



여러분 스스로 만들기 위한 세 가지 팁을 명심하도록 하세요.

1. 다른 사람들과 함께 하세요. 아무리 초보더라도 두 명이서 함께 페어를 할 때 불가능해 보이는 에러도 디버깅할 수 있답니다.

2. 다른 사람의 코드를 읽으세요. 좋은 패턴에 익숙해지도록 하세요. 다른 사람들이 어떠한 의도로 코드를 작성했는지 파악하려고 노력하세요. 책을 읽지 않고 소설가가 될 수 있나요? 자그마한 문제 하나하나에 귀를 기울이고, 다른 사람이 이를 어떻게 해결했는지 관심을 기울이도록 하세요.

3. 자그마한 것으로 시작하고 계속해서 만들어보세요. 미래에 내가 만들어 볼 큰 프로젝트에 관심 가질 수도 있겠습니다만, 지금은 당장 디버깅에 익숙해지고 자그마한 문제를 해결할 수 있는 능력을 길러야 합니다. 이 과정은 정말 필수적으로 하셔야 합니다.



3단계에서 살아남는 방법
디버깅에 익숙해지면, 여러분의 가장 큰 문제는 학습할 거리들이 아주 많아진다는 점입니다. 이걸 대체 언제 다 공부하고 있나요. 이 경우에 여러분은 자신만의 굳은 믿음과 올바른 길에 대한 전진이 필요한 때입니다. 가끔 사막에서 신기루가 나타나서 빨리 스킬을 얻을 수 있는 방법을 알려주겠노라고 여러분을 홀릴 수도 있겠습니다만, 여기에 속아넘어가면 정말 시간만 낭비하게 될 것입니다.



1. 분명한 목표를 가지세요. 무엇을 이루고 싶은가요? 목표가 없다면 관심이 있는 모든 것에 이리저리 기웃대다가 아무 것도 안 될 것입니다. 여유 부릴 시간이 있으면 공부를 하세요.

2. 분명한 길을 걸으세요. 여러분의 목표로 인도해줄 것이고, 그 곳이 맞다는 사실을 확신시켜 줄 것입니다. 각종 마케팅 슬로건에 속지 않고, 여러분 나름대로 깊이 파고들 수 있게 될 것입니다. 다양한 강좌 웹사이트나 소개자료집, 기술 책 앞에서 "이것이 나의 목표 달성에 있어 꼭 필요한 일인지" 판단할 수 있게 될 것입니다.

3. 집중하셔야 합니다. 여러분이 코딩에 관심이 있다는 것은 여러분은 아마 다른 모든 것에 관심이 있을 거라는 뜻입니다. 코딩이 어려워진다면 금방 질려 다른 거 하지 마시고 여기에 오로지 집중하도록 하세요.



여러분이 나름의 길을 찾고 여기에 오롯이 집중할 수 있을 때, 여러분은 몇 개월, 몇 년 동안 각종 열풍과 환상에 속아 넘어가지 않고 다음 단계로 넘어갈 수 있을 것입니다.



4단계에서 살아남는 방법
사실 여기가 제일 어려운 부분입니다. 앱을 개발할 수 있게 되었지만 정말 진정한 개발자가 되고 싶으실 것입니다. 이 과정을 지나고 취업에 다다르기 위해서는 다음의 과정을 거치셔야 합니다.



1. 모범 사례를 찾아 따라해보세요. 해결책과 베스트 프렉티스의 차이점에 대해 이해하실 수 있어야 합니다. 베스트 프렉티스, 즉 모범사레는 여러분이 스스로 하던 것과 어딘가 차이가 있을 것이구요. 실제 회사환경과 코드 수준차이가 있을 것입니다.

2. 여러분의 상황을 계속해서 점검해보세요. 여러분은 계속 중간중간에 모르는 내용으로 구멍 뚫린 것 때문에 미끄러진 경험이 있을 것입니다. 내가 알지도 몰랐던 지식들 때문이기도 하구요. 이것들을 점검하고 고쳐나가야만 합니다.

3. 하기 싫어했던 것을 공부하세요. 평소에 자주 다뤄지지는 않지만 회사에 업무를 수행하기 위해서는 매우 중요한 것들 말입니다. 테스트 하는 것이나 데이터 모델링, 구조 짜기, 배포하기 같은 것은 지루할 지 모르지만 좋은 개발자가 되기 위해서는 매우 중요한 것들입니다.



사실 제일 중요한 것은 피드백을 얻는 것입니다. 스스로 학습하는 것이 최고라고 믿는 학생들은 읽기 쉬운 코드, 모듈화가 잘 된 코드, 유지보수 하기 쉬운 코드와 같이 업무 환경에서 중요한 요소들에 대한 고민을 해본 적이 없을 것입니다. 여러분 스스로의 환경에 계속 도전할 수 있는 누군가와 함께 일해 볼 필요가 있습니다. 계속 난처한 질문을 던져달라고 요구하시고, 이를 통해 여러분의 부족한 지식을 메꿔두세요.

 

 

https://brunch.co.kr/@jypthemiracle/14

반응형
반응형

2022년 프론트엔드 개발 동향

소프트웨어 엔지니어링 팀은 항상 최신 프론트엔드 개발 기술을 채택하여 고객 만족을 위한 사용자 경험을 유지해야 한다는 압박을 받고 있습니다. 프론트엔드 트렌드가 올해 어떻게 바뀌었고 어떻게 이를 수용하여 자신에게 이익이 될 수 있는지 확인하십시오. 반대로 매일 사용하는 응용 프로그램을 관찰하면 가장 직관적이고 사용하기 쉬운 UI라도 계속 업데이트되므로 계속 사용할 수 있습니다.

변화하는 트렌드를 따라가는 것이 부담이 될 수 있는 것이 사실이지만; 이러한 프론트엔드 개발 동향은 앱 개발 프로세스를 민첩하고 복잡하지 않게 만들 수 있습니다. 또한 업계에 지속적으로 영향을 미치는 것을 사명으로 하는 개발자에게는 최신 프로그래밍 언어, 프런트 엔드 프레임워크 및 기술을 최신 상태로 유지하는 것이 끊임없이 진화하는 업계에서 경쟁력을 유지하는 데 필수적입니다.

다음은 아직 파악하지 못한 경우 따라잡아야 할 몇 가지 주요 프론트엔드 개발 동향입니다.

새로운 프론트엔드 트렌드 따라잡기

1. Jamstack의 부상

Jamstack (JavaScript, API 및 Markup)은 JavaScript를 사용하는 프레임워크로, 웹사이트와 앱을 구축하는 데 도움이 됩니다. 최신 고성능 단일 페이지 응용 프로그램을 만들기 위한 사용하기 쉬운 플랫폼을 제공합니다.

Jamstack은 사전 렌더링 및 분리 원칙에 따라 작동합니다. 데이터베이스 백엔드 앱에서 프론트엔드 UI와 페이지를 분리합니다. 프론트엔드가 백엔드 서버에서 해제되면 전 세계적으로 CDN에 쉽게 배포할 수 있습니다. 배포하기 전에 전체 프론트엔드가 고도로 최적화된 정적 페이지 및 자산으로 사전 구축됩니다. 글로벌 프론트엔드는 자바스크립트와 API를 사용하여 백엔드 서비스와 통신하여 페이지를 개선하고 개인화할 수 있습니다.

 

Jamstack은 커스텀 프론트엔드 개발에 사용됩니다.

  • 페이지가 빌드 시 미리 생성되기 때문에 로드 시간이 단축되어 개발자가 코드를 더 쉽게 관리할 수 있으므로 개발 속도가 빨라지고 사용자 경험이 향상됩니다.
  • 사전 렌더링과 연결된 서버가 없으므로 서버 보안은 문제가 되지 않습니다. 조사해야 하는 유일한 보안은 사용자의 개인 콘텐츠에 대한 권한입니다.
  • Jamstack 웹사이트는 정적이고 미리 생성되어 있으며 번거로움 없이 다양한 호스트에서 쉽게 호스팅할 수 있으므로 이식성을 지원합니다.
  • 다양한 JS 라이브러리와 통합되어 추가 기능을 추가하고 코딩 프로세스를 용이하게 하여 확장성을 높입니다.
  • 정적 콘텐츠를 호스팅하는 것은 동적 또는 기존 웹 콘텐츠보다 비용이 적게 듭니다. 웹 사이트는 완전히 CDN에서 캐시되고 제공될 수 있으며 방대한 인프라가 필요하지 않습니다.

Jamstack은 우리가 웹사이트와 앱을 구축하는 방식에 혁명을 일으켰고 Unilever, PayPal, Louis Vuitton, Nike 등과 같은 많은 유명 브랜드가 두 팔을 벌려 아키텍처를 수용하고 있습니다.

2. 널리 사용되는 프론트엔드 개발 프레임워크 사용

JavaScript(JS)는 가장 널리 사용되는 프로그래밍 언어 중 하나입니다. HTML 및 CSS와 함께 World Wide Web의 핵심 기술 중 하나이며 가장 광범위한 라이브러리, 프레임워크 및 커뮤니티 지원을 제공합니다.

JavaScript 프레임워크는 웹 개발자에게 일상적인 프로그래밍 작업을 위해 미리 작성된 코드를 제공하는 JavaScript 코드 라이브러리 모음입니다.

그러나 가장 인기 있는 JS 프레임워크는 무엇입니까?

 

많이 있지만 가장 널리 사용되는 3가지 프론트엔드 JS 프레임워크에 대해 이야기해 보겠습니다.

  1. React: Facebook에서 만든 React 프레임워크는 기능적, 선언적 및 구성 요소 기반 스타일을 도입했습니다. React는 유입 트래픽이 많은 웹 페이지의 동적 사용자 인터페이스를 개발하고 운영하는 데 사용됩니다. 가상 DOM을 사용하면 웹 및 앱 프론트엔드 개발을 위한 고속 렌더링이 보장됩니다.
  2. Angular: 2016년에 공식적으로 출시된 Angular 프레임워크는 Google에서 설정했습니다. TypeScript를 기반으로 하는 가장 강력하고 효율적인 오픈 소스 JS 프론트엔드 프레임워크 중 하나입니다. 컴포넌트 기반 아키텍처와 트리 뷰 구조를 통해 고급스러운 단일 페이지 애플리케이션을 개발할 수 있습니다.
  3. Vue.js: 요즘 가장 단순한 프론트엔드 프레임워크 중 하나는 Vue.js 입니다. 사용 및 만족도 평가 기준으로 세 번째로 좋은 JavaScript 프레임워크입니다. 이중 통합은 고급 SPA를 만드는 데 가장 매력적인 기능 중 하나입니다.

JavaScript는 Netflix, LinkedIn, PayPal, OkCupid, BBC World News 등과 같은 여러 웹 앱의 부상을 담당합니다.

3. CMS를 위한 헤드리스 아키텍처

헤드리스 아키텍처는 백엔드(컨텐츠 저장소) "본문"이 프론트엔드 "헤드"와 분리되어 있는 일종의 백엔드 컨텐츠 관리 시스템입니다. 비즈니스 로직 및 기능은 API로 제공됩니다. 전문화된 백엔드는 이러한 API를 사용자 플랫폼에 해당하는 프론트엔드 채널로 간소화합니다. 이 아키텍처를 사용하면 다양한 기술을 사용하여 다양한 형식의 여러 프런트엔드를 만들 수 있습니다.

즉, 헤드리스 CMS는 웹 서비스 API를 사용하여 백그라운드에서 독립적으로 실행되어 여러 장치에 콘텐츠를 푸시하는 중앙 집중식 콘텐츠 저장소입니다.

  • 콘텐츠 인프라는 IT 팀이 병렬로 작업할 수 있는 민첩한 프레임워크에서 개발에 대한 느린 폭포수 접근 방식을 대체하여 출시 시간을 단축함으로써 동시 협업을 통해 확장성을 지원합니다.
  • 여러 채널 또는 플랫폼에서 작동하여 코드의 재사용성을 높이고 개발자의 재작업과 노력을 줄입니다.
  • 모든 콘텐츠가 모든 디지털 플랫폼에서 액세스 가능하면 브랜드는 개인화 및 현지화와 같은 기능을 최대한 활용할 수 있습니다.
  • 개발자가 프론트엔드 프레임워크를 선택할 수 있는 자유를 제공하는 유연한 아키텍처 제공
  • 풍부한 사용자 경험을 제공하므로 개발자는 기존 코드, 콘텐츠 또는 서버를 사용하여 헤드리스 아키텍처로 창의력을 발휘할 수 있습니다.

4. 마이크로 프론트엔드 아키텍처로의 이동

마이크로 프론트엔드 아키텍처는 프론트엔드 앱이 느슨하게 함께 작동하는 반독립적인 개별 "마이크로 앱"으로 분해되는 디자인 접근 방식입니다. 모놀리식 프론트엔드 구조를 위한 솔루션으로 구축되었습니다. 모놀리식 구조를 독립 응용 프로그램과 유사한 별도의 구성 요소로 나눕니다. 작업할 다른 구성 요소를 사용하여 개발 팀은 단일 코드베이스의 개별 구성 요소에서 동시에 전체 프론트엔드를 개발할 수 있습니다.

마이크로 프론트엔드 아키텍처 사용의 장점은 다음과 같습니다.

  • 더 작은 코드베이스로 인해 쉽게 유지 관리 가능한 구성 요소
  • 마이크로 프론트엔드 팀이 분리되고 독립적이기 때문에 확장성을 촉진합니다.
  • 독립적인 구성 요소는 안정성을 유지하는 데 도움이 되며 오류 또는 업그레이드가 있는 경우 해당 특정 구성 요소에만 주의가 필요합니다.
  • 다른 구성 요소에 영향을 주지 않고 더 나은 사용자 경험을 제공하지 않으면서 더 작은 코드베이스 구성 요소에 대한 업그레이드 및 업데이트가 더 쉽습니다.

UI/UX를 확장하고 개선하기 위해 마이크로 프론트엔드 아키텍처를 채택한 일부 브랜드에는 Spotify, IKEA, American Express 및 Starbucks가 있습니다.

5. PWA(프로그레시브 웹 앱)로 개발

PWA는 최근에 등장하는 브라우저 API 및 기능과 전통적인 점진적 향상 전략을 사용하는 플랫폼 간 웹 앱을 제공하기 때문에 맞춤형 애플리케이션 개발 서비스에서 매우 인기를 얻고 있습니다. HTML, JS 및 CSS와 같은 인기 있는 웹 기술을 사용하여 개발되었습니다. 푸시 알림, 홈 화면에 추가 등과 같은 기능을 제공하면서 사용자에게 반응형 경험을 제공합니다.

  • PWA는 최신 웹 기술로 개발된 웹사이트이기 때문에 설치할 필요가 없지만 설치 과정 없이 사용자의 홈 화면에 애플리케이션으로 나타날 수 있습니다.
  • PWA는 플랫폼별 기능을 통해 네이티브와 유사한 애플리케이션 경험을 제공하며 고성능이며 몇 초 안에 로드됩니다.
  • 이러한 웹사이트의 데이터는 네트워크 연결에 의존하지 않고 사용자의 장치에 로컬로 저장할 수 있습니다.
  • PWA는 다른 웹사이트나 웹 애플리케이션과 마찬가지로 HTTPS 프로토콜을 따르기 때문에 보안이 잘 되어 있습니다.

따라서 Twitter, Instagram, Uber, Forbes, Starbucks 및 Pinterest는 PWA를 개발하여 여러 장치에서 놀라운 속도와 타의 추종을 불허하는 성능, 기본 모바일 응용 프로그램보다 더 효율적인 앱을 보다 안정적으로 만듭니다.

6. GraphQL 채택

Facebook은 복잡한 애플리케이션의 변화하는 요구 사항을 충족하고 REST API의 유연성 문제를 해결하기 위해 2018년 GraphQL을 도입했습니다.

GraphQL은 데이터 쿼리 언어이자 API용 서버 측 런타임입니다. 클라이언트가 요청한 데이터를 정확하게 제공하는 것을 우선시합니다. API를 빠르고 유연하며 개발자 친화적으로 만들도록 설계된 이 API는 GraphiQL이라는 IDE 내에서 배포할 수 있습니다. REST의 대안으로 GraphQL을 사용하면 개발자가 단일 API 호출로 여러 데이터 소스에서 데이터를 가져오는 요청을 구성할 수 있습니다.

GraphQL의 장점은 다음과 같습니다.

  • 쿼리 검색을 위한 단일 그래프는 회사에 전체 API를 통합하는 방법을 제공합니다.
  • 클라이언트와 서버 간의 잘못된 통신을 줄이는 데 도움이 되는 뛰어난 클라이언트 성능과 효율적인 오류 처리를 위해 인터페이스와 강력하게 정의된 데이터 유형을 제공합니다.
  • 기존 쿼리를 중단하지 않고 애플리케이션 API를 발전시킬 수 있습니다.
  • GraphQL은 REST API에서 사용할 수 없는 기능을 제공하는 많은 오픈 소스 확장을 제공합니다.
  • 특정 애플리케이션 아키텍처를 지시하지 않으며 기존 REST API 위에 도입될 수 있습니다.

Atlassian, Audi, Coursera, Facebook, GitHub, Airbnb 및 Lyft와 같은 많은 회사는 모바일 앱, 웹사이트 및 API에서 GraphQL을 활용했습니다.

7. 모션 UI로 사용자 경험 재부팅

Motion UI는 전 세계적으로 사용되는 현대적이고 수요가 많은 프론트엔드 개발 디자인 스타일입니다. 웹사이트와 앱 인터페이스에 생명을 불어넣는 UX 디자인 요소입니다.

모션 UI는 고객에게 스토리를 전달하고 다양한 감정을 불러일으킬 수 있습니다. 스토리텔링은 온라인에서 참여를 유도하는 강력한 방법이지만 그 핵심은 단순히 일련의 사건에 불과합니다. 모션 및 애니메이션과 결합될 때 스토리텔링은 미학적으로 매우 즐거운 순간을 만들고 믿을 수 없을 정도로 기능적인 사용자 경험을 강화할 수 있습니다.

모션 UI는 사용자의 관심을 끌고 유지하는 가장 효과적이고 직접적인 접근 방식입니다. 모션 디자인을 사용하여 최대한 빨리 메시지를 방송할 수 있습니다. 아이디어의 의미를 밝히고 데이터를 정리할 수 있는 편리하고 간단한 형식입니다. 콘텐츠를 읽거나 정적인 인포그래픽을 보는 것보다 짧은 애니메이션 영화를 보는 것이 훨씬 더 적합합니다.

Uber, Facebook, Instagram, Google Apps, CRED, Snapchat, Spotify 및 대부분의 사용자가 일상적으로 사용하는 수많은 기타 앱과 같은 거의 모든 애플리케이션에서 모션 애니메이션을 볼 수 있습니다.

8. 단일 페이지 애플리케이션(SPA)

단일 페이지 애플리케이션(SPA)은 사용 중에 페이지를 다시 로드할 필요가 없고 브라우저 내에서 작동하는 앱입니다.

SPA의 가장 큰 장점 중 하나는 사용자 경험입니다. 사용자는 페이지 새로고침 및 기타 작업을 기다리지 않고 앱의 자연 환경을 즐깁니다. JavaScript로 구동되는 동일한 페이지에 남아 있습니다.

 

단일 페이지 애플리케이션의 주요 이점은 속도입니다. SPA에 필요한 대부분의 리소스(HTML + CSS + 스크립트)는 앱 실행 시 로드되며 사용 중에 다시 로드할 필요가 없습니다. 변경되는 유일한 것은 서버와 주고받는 사용자 데이터입니다. 결과적으로 응용 프로그램은 사용자 쿼리에 매우 빠르게 응답하고 매번 클라이언트-서버 통신을 기다릴 필요가 없습니다.

  • 초기 요청 시 한 번만 로드되기 때문에 기존 앱보다 빠름
  • 더 적은 대역폭을 사용하고 느린 인터넷 연결에서 작동할 수 있습니다.
  • 사용자가 페이지가 로드될 때까지 기다릴 필요가 없기 때문에 모바일 또는 데스크탑 앱에 대한 더 나은 사용자 경험
  • 기존 앱과 비교할 때 풍부하고 고급 프론트엔드 기능을 SPA에 더 쉽게 통합

Facebook, Gmail, Twitter, Google 드라이브, Google 지도 및 GitHub가 SPA의 예입니다.

9. 비주얼 앱 개발 도구 [로우 코드/코드 없음]

로우 코드 개발 플랫폼은 프론트 엔드 개발 트렌드 영역에서 가장 흥미로운 전환점입니다. 이러한 시각적 앱 구축 도구는 가장 중요한 측면인 프론트엔드 디자인과 로직에 초점을 맞추면서 상용구 코드를 처리합니다. 앱을 빌드하려면 문제 분석, 개념화 및 설계에서 코딩에 이르기까지 시간과 수작업이 필요합니다. 로우코드 플랫폼은 프론트엔드와 백엔드의 경제적 노력을 줄이는 데 도움이 됩니다. 두 가지 측면에서 더 많은 사용자 정의가 가능합니다. 이러한 도구는 데이터베이스 및 타사 앱에 쉽게 연결하여 데이터를 가져오고 조치를 취할 수 있는 즉시 사용 가능한 UI 구성 요소를 사용하여 프런트 엔드를 생성하는 직관적인 드래그 앤 드롭 인터페이스를 제공합니다. 비즈니스 로직과 궁극적인 목표인 사용자 경험에 집중할 수 있습니다.

로우코드/노코드 앱 개발 플랫폼은 프론트 엔드 엔지니어와 개발자가 UI 구성 요소를 끌어다 놓고 연결하고 엔터프라이즈급 모바일 또는 웹 앱을 만드는 시각적 소프트웨어 개발 환경입니다.

시각적 앱 개발 도구를 사용하면 다음과 같은 이점이 있습니다.

  • 특정 사례에 대한 앱을 빠르게 개발하여 소프트웨어 제공을 가속화하도록 설계됨
  • 개발자가 기존 접근 방식보다 훨씬 빠르게 앱을 설계, 테스트, 배포 및 관리할 수 있습니다.
  • 최소한의 수작업 코딩과 최소한의 초기 투자로 앱 제작
  • IT 리더는 현재 기술과 리소스를 사용하면서 기존 시스템을 통합하여 회사를 위한 내부 도구를 구축할 수 있습니다.
  • 기존 프로그래밍 대신 GUI 및 구성을 사용하여 새 앱을 만들거나 기존 앱을 추가로 개발하면 시장 요구에 빠르게 응답할 수 있습니다.
  • 내부 도구 또는 앱을 기존 데이터베이스 및 API와 쉽게 통합

Wipro, Mondelez, Endy, LTI, Pfizer, Colgate, McKinsey & Company 등과 같은 많은 회사에서 비주얼 개발 도구를 사용하여 엔터프라이즈 앱을 구축해 왔습니다. 여기에서 더 읽어보세요 !

한 프레임워크의 일부 매개변수는 다음과 같이 다른 매개변수를 활용할 수 있습니다.

  • 시장 출시 속도
  • 팀 구성
  • 기존 애플리케이션 플랫폼 변경
  • 고도로 복잡한 엔터프라이즈 앱 개발
  • 웹 및 모바일용 MVP 구축
  • 플랫폼 간 구성 요소 재사용
  • 기존 앱에서 맞춤형 최신 UI 디자인
  • 대규모 분산 팀이 있는 대규모 앱
  • 복잡한 규칙이 있는 양식 기반 앱

프론트엔드 개발의 이점

몇 가지 통계를 통해 프론트엔드 개발의 중요성을 살펴보겠습니다.

  1. 고객에 대한 놀라운 첫인상: 상위 웹사이트의 82%는 모바일 친화적이며 83%는 모든 기기에서 원활한 사용자 경험이 매우 중요하다고 생각합니다.
  2. 브랜딩 개선: 사용자의 67%는 열악한 웹사이트 경험이 브랜드에 대한 자신의 의견에 부정적인 영향을 미친다고 말합니다.
  3. 신뢰와 신뢰성 구축: 비즈니스 신뢰성에 대한 사용자 판단의 75%는 웹사이트 디자인을 기반으로 합니다.
  4. 손쉬운 웹사이트/앱 탐색: 대부분의 사용자의 멘탈 모델에 따라 구조화된 탐색 체계를 사용할 때 80%의 성공률이 있었습니다.
  5. 방문자 유지: 방문자 의 74%는 모바일 사용자 경험이 좋은 경우 사이트를 다시 방문할 가능성이 높습니다.

결론

시장 경쟁이 매일 새로운 수준에 도달함에 따라 프론트엔드 개발자는 효율성, 사용자 경험, 클라이언트 만족도, 확장성, 접근성, 그리고 가장 중요한 속도를 강화하기 위해 엔터프라이즈급 솔루션을 개발해야 하는 압박을 받고 있습니다. 그러나 빠르게 변화하는 혼돈과 작업 부하 압력 사이에서 중요한 것은 기존 앱의 프런트 엔드를 개선할 수 있는 방법을 고려하는 것입니다.

DronaHQ 는 다양한 조직, 산업 및 국가의 다양한 소프트웨어 개발 및 엔지니어링 팀이 웹 및 모바일 앱을 위한 가치 기반 로우 코드 프론트 엔드를 제공하도록 지원했습니다. DronaHQ의 우리는 항상 최신 기술 동향을 파악하고 고객의 꿈의 프로젝트에 최고의 엔터프라이즈급 솔루션을 제공한다고 믿었습니다.

당사의 사내 전문가 중 한 명에게 연락하여 귀하의 애플리케이션을 위한 고유한 프론트엔드를 생성할 수 있는 가능성을 탐색하십시오.

 

https://www.dronahq.com/front-end-development-trends/

 

Latest Front-end Development Trends of 2022 | DronaHQ

Catch up with the latest trends of front-end development in 2022, and find something to help you build leading customized websites or applications for your business!

www.dronahq.com

 

반응형
반응형

모든 개발작업이 그러하듯 본 과정보다 전처리가 중요하다. 음식 만들기 전 재료준비/손질에 대부분의 시간이 소요되는 것과 다를것이 없다.

반응형
반응형

애플의 목표는 돈을 버는 것이 아닙니다. 우리의 목표는
위대한 제품을 디자인하고 개발해 시장에 출시하는 것입니다.
좋은 제품을 시장에 내놓으면 사람들이 그 제품을 좋아하게 될 것입니다.
그리고 사람들이 그 제품을 좋아하면 우리는 돈을 벌 것입니다.
그러나 우리는 우선적 목표가 무엇인지 아주 명확히 알아야 합니다.
- 스티브 잡스


‘세상을 더 좋게 만들기 위한 우리의 노력을 시장과 고객이 알아봐서
우리를 선택한 것’이 바로 매출이고,
‘더 좋은 상품과 서비스를 개발하기 위한 원천 자본’이 되는 것이 바로 이익입니다.
회사는 분명 매출과 이익 없이는 살아갈 수 없습니다.
그러나 매출과 이익에 집착하는 대신,
세상과 고객을 위해 더 좋은 가치를 창출하는데 집중하다 보면
자연스럽게 따라오는 것이 바로 매출과 이익입니다.

반응형
반응형
반응형
반응형
스티브 잡스에게는 
소비자의 마음을 사는 일이 가장 중요했다. 
그는 종종 애플이 사람들을 '사랑에 빠지게 하는' 
기술을 개발하고 있다고 말하며 그 점을 분명히 했다. 
잡스는 상품, 마케팅, 소비자와의 관계를 구축하는데 
있어 심플함을 기반으로 행동하는 것은 브랜드은행에 
저축하는 것과 같다고 생각했다. 심플함이 소비자의 
사랑을 불러온다는 신념은 잡스의 
핵심 원칙 중 하나였다. 


- 켄 시걸의《싱크 심플》중에서 -


* 심플한 것은
단순하고 명료합니다. 
누구에게나 쉽고 간편하고 콕 박힙니다.
그러나 오해해서는 안 됩니다. 결코 하루아침에 되는 것이
아닙니다. 오랜 노력과 숙련과 시행착오 끝에 얻어지는 
결과물입니다. 축적의 시간이 반드시 필요합니다.
'사랑에 빠지게 하는' 기술도 그 축적의 시간과
단순 명료함에서 얻을 수 있습니다. 


...
반응형

'생활의 발견 > 아침편지' 카테고리의 다른 글

사연이 많은 친구  (0) 2019.03.02
무엇이 옳은 일이고 무엇이 죄인가  (0) 2019.03.01
타인의 행복  (0) 2019.02.27
설계 의뢰자와 건축가 사이  (0) 2019.02.26
힐링 산업의 메카  (0) 2019.02.25

+ Recent posts