강력한 웹플랫폼

마지막 업데이트: 2022년 2월 17일 | 0개 댓글
  • 네이버 블로그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 트위터 공유하기
  • 카카오스토리 공유하기
그림 1. 과도한 자바스크립트가 메인 스레드를 독점한 노키아 2 안드로이드폰 브라우저의 성능 타임라인.

SCA 및 Google Pay API

SCA(강력한 고객 인증)가 적용되는 거래를 위해 Google Pay에서 적절한 결제 사용자 인증 정보를 반환할 수 있도록 하려면 구현을 업데이트해야 합니다.

Google Pay API V2 통합을 완료했다면 다음과 같이 변경해야 합니다.

PaymentDataRequest 객체 업데이트

다음과 같은 속성을 사용하여 PaymentDataRequest 객체를 업데이트합니다.

  • merchantInfo.merchantName : 판매자 이름이 결제 명세서에서 렌더링됩니다.
  • transactionInfo.countryCode : 트랜잭션이 처리되는 위치를 나타냅니다. 거래 은행 국가를 지정해야 합니다.
  • transactionInfo.totalPrice : 필요에 따라 십진수를 소수점 이하 두 자리로 표시하는 거래의 총 금액입니다.

업데이트된 PaymentDataRequest 객체 예시

다음은 업데이트된 PaymentDataRequest 강력한 웹플랫폼 객체의 예시입니다.

응답 객체 처리

판매자는 다음 중 하나를 받습니다.

  • 추가적인 상향 조정이나 과제 없이 처리할 수 있는 인증된 페이로드
  • 사내 제공 솔루션 또는 결제 서비스 제공업체 파트너(PSP) 솔루션을 통해 3D Secure 2.0을 요구하는 PAN

대부분의 PSP에서 적절한 결제 수단 위험 확인 및 단계별 트랜잭션을 적용하는 기능을 제공합니다. 해당하는 경우 Google Pay PAN PAN_ONLY 트랜잭션을 위한 3D Secure가 여기에 포함됩니다.

사내 위험 관리 도구가 있으면 assuranceDetailsRequired 매개변수를 사용하여 트랜잭션에 대한 세부정보를 확인하세요.

assuranceDetails.cardHolderAuthenticated 가 false 를 반환하면 적절한 결제 수단 위험 확인 및 단계별 트랜잭션을 적용합니다. 해당하는 경우 3D Secure를 포함합니다.

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

자바스크립트의 책임 : Part Ⅰ

수치에서도 확인할 수 있지만 자바스크립트는 성능 면에서 막중한 책임이 있다. 지금과 같은 추세가 유지된다면 일반 페이지는 적어도 400킬로바이트로 전송될 것이다. 텍스트 기반 리소스처럼 자바스크립트도 대부분 압축된 상태로 전송된다. 그러므로 자바스크립트는 변하지 않고 압축된 상태 그대로 전송되는 유일한 것이라 할 수 있다.
불행히도 리소스 전송 시간을 줄이는 것은 전체 성능에서 큰 부분을 차지한다. 하지만 압축은 자바스크립트가 완전히 도달한 후 브라우저가 스크립트를 처리하는 시간에는 영향을 미치지 않는다. 서버에 400킬로바이트로 압축된 자바스크립트를 전송하면 이는 실제로 메가바이트 단위로 압축 해제되어 브라우저에서 처리될 것이다. 이런 작업 부하를 얼마나 잘 견디는가는 디바이스에 달려 있다. 다양한 디바이스가 수많은 자바스크립트를 얼마나 능숙하게 처리하는지에 대한 자료가 많이 있지만 사실 아주 작은 용량이라도 처리하는 시간은 디바이스마다 크게 다르다.
예를 들어 이 테스트용 프로젝트는 압축되지 않은 23킬로바이트의 자바스크립트를 서버에 전송한다. 2017년 중반 맥북 프로의 크롬에서는 25밀리세컨드만에 이를 읽어 들이지만 노키아 2 안드로이드폰에서는 190밀리세컨드까지 늘어난다. 꽤 차이가 있지만 어쨌든 페이지 로딩은 둘 다 모두 빠른 편이다.
이제 중요한 질문으로 넘어가보자. 이 작은 노키아 2가 일반적인 페이지를 어떻게 읽어 들인다고 생각하는가? 정말 답답할 것이다. 아무리 연결이 빠르더라도 자바스크립트로 가득한 웹 페이지 처리에 많은 시간이 걸리므로 인내심이 필요하다.

A performance timeline for a JavaScript-heavy website. Most of the timeline is JavaScript.

그림 1. 과도한 자바스크립트가 메인 스레드를 독점한 노키아 2 안드로이드폰 브라우저의 성능 타임라인.

디바이스와 네트워크의 웹 탐색 기능은 날이 갈수록 향상되어 편리하게 이용하고 있다. 이를 더욱 활용하기 위해서는 자바스크립트를 책임감 있게 사용할 수 있어야 한다. 그것은 우리가 무엇을 만드는지뿐 아니라 어떻게 만드는지를 이해하는 것에서 시작된다.

‘웹사이트’ vs ‘애플리케이션’을 바라보는 사고방식

명칭이란 참으로 이상해서 용어를 대략적으로 부정확하게 식별하더라도 그 의미 자체는 모든 사람이 암묵적으로 이해한다. 꿀벌과 말벌 사이에 상당한 차이가 있는데도 ‘꿀벌’이라는 용어를 ‘말벌’의 의미로도 쓸 때가 많다. 하지만 이런 차이점으로 대상을 다르게 대할 수도 있다. 예를 들어 말벌집을 완전히 제거하고 싶지만 꿀벌이 매우 이롭고 취약한 곤충이기 때문에 말벌집을 옮기는 방법을 택할 수도 있다.
‘웹사이트’와 ‘웹 애플리케이션’이라는 용어도 혼용된다. 이 둘은 말벌과 꿀벌의 차이보다는 덜 명확하지만 혼동하면 골치 아픈 결과를 가져올 수 있다. 이 문제는 단순한 ‘웹사이트’와 완전한 기능을 강력한 웹플랫폼 갖춘 ‘웹 애플리케이션’을 동일시한다는 데 있다. 만약 비즈니스를 위한 정보성 웹사이트를 만들고 있다면 적어도 DOM의 변경을 관리하거나 클라이언트 측 라우팅을 구축하는 강력한 프레임워크는 사용하지 않을 것이다. 적합하지 않은 도구를 사용하는 것은 사이트 사용자에게 손해일 뿐 아니라 생산성도 떨어질 것이다.

하지만 웹 애플리케이션을 만들 때는 주의해야 한다. 수천 가지는 아니더라도 수백 가지의 개별 패키지를 설치하는데, 그중 일부는 안전하지 않을 수도 있다. 또한 모듈 번들을 위해 복잡한 설정도 작성한다. 혼란스럽지만 어디나 있는 이런 개발 환경에서 빠르고 쉽게 개발하려면 지식을 갖추고 경계심을 가져야 한다. 이 내용이 의심스럽다면 프로젝트의 루트 디렉터리에서 npm ls --prod 를 실행하고 목록의 모든 항목을 알고 있는지 확인해보기 바란다. 모두 알고 있다 해도 여러분의 프로젝트에 포함되어 있는 서드파티 스크립트까지 다 알기는 어려울 것이다.

우리는 웹사이트와 웹 애플리케이션의 사용 환경이 같다는 것을 잊어버린다. 둘 다 네트워크와 디바이스에 커다란 영향을 미치는 동일한 환경에 놓여 있다. 이런 제약 사항은 우리가 만든 것을 ‘애플리케이션’이라 부르기로 결정한다고 해서 갑자기 사라진다거나 사용자의 휴대전화가 마법처럼 새로운 힘을 얻는 것도 아니다.

우리가 만든 것을 누가 사용할지 검토하고 사용자가 접속하는 인터넷 환경이 우리가 가정한 환경과 다를 수 있다는 사실을 항상 유념해야 한다. 우리가 제공하는 서비스나 솔루션의 목적을 생각해야만 그에 맞는 훌륭한 결과물을 만들 수 있다. 비록 만들기가 신나지 않더라도 말이다.

이는 자바스크립트에 대한 의존도와 그 용도가 무엇인지 (HTML과 CSS는 일단 제외하고) 재평가하고 성능과 접근성을 떨어뜨리는 비효율적인 패턴이 있는지 재확인할 수 있는 계기가 될 것이다.

프레임워크의 비효율적인 패턴은 더 이상 사용하지 말자

이전에 함께 일했던 팀에서 프로젝트의 생산성을 높이기 위해 프레임워크를 사용했는데, 이때 사용하는 프레임워크의 코드베이스에서 몇 가지 이상한 점을 발견했다. 여러 가지 중에서 공통된 한 가지 문제점은 비효율적인 접근성과 성능을 보이는 패턴이 종종 발생한다는 것이었다. 다음의 리액트 구성 요소를 예로 들어보자.

여기에는 주목할 만한 접근성 관련 문제가 있다:

  1. 을 사용하지 않으면 form이 아니다. 사실 부모 에 role="form" 을 지정하여 사용할 수도 있다. 이와 비슷한 방법이지만 form을 만들 때는 적절한 action 과 method 요소를 수행하기 위해 을 제대로 사용하는 것이 좋다. 특히 action 요소는 매우 중요하다. 자바스크립트가 일부 누락되어도 구성 요소가 서버 렌더링되는 것은 물론이고 form이 해당 action 요소를 수행할 수 있도록 보장해주는 역할을 한다.
  2. 요소가 접근성에 이점이 있다고 해서 요소 대신 사용할 수는 없다.
  3. form을 전송하기 전에 클라이언트 측에서 무언가를 수행하도록 한다면 의 onClick 핸들러에 있는 action을 요소의 onSubmit 핸들러로 수정해야 한다.
  4. 덧붙여 말하면 IE10 이상 대부분의 브라우저에서 HTML5에 이메일 유효성 검사가 내장되어 있는데도 자바스크립트에서 왜 이메일 주소의 유효성을 확인해야 할까? 스크린 리더에서 제대로 동작하기 위해 약간의 노하우는 필요하지만 브라우저의 기능과 적절한 input type, 그리고 required 속성을 잘 이용하면 된다.
  5. 접근성 관련 문제는 아니지만 구성 요소는 어떤 상태에서도 라이프사이클 메서드에 의존하지 않는다. 그러므로 이런 구조는 완전한 리액트 대신 자바스크립트를 매우 적게 사용하는 상태비저장형 stateless 구성 요소로 리팩토링할 수 있다.

앞의 내용을 토대로 다음과 같이 리팩토링할 수 있다.

이제 이 구성 요소는 자바스크립트를 덜 사용하지만 접근성은 더 향상된다. 자바스크립트 홍수 속에서 몇 강력한 웹플랫폼 줄을 삭제하는 것만으로도 훨씬 편안해질 수 있다. 브라우저가 자체적으로 제공하는 기능이 많으므로 최대한 이를 활용할 수 있어야 한다.

프레임워크를 사용할 때만 접근하기 어려운 패턴이 발생한다고는 할 수 없지만 자바스크립트만 선호한다면 결국 HTML과 CSS에 대한 이해에서 차이를 드러낼 것이다. 이런 지식의 차이는 우리가 미처 알지 못하는 실수를 종종 일으킬 것이다. 프레임워크는 분명 생산성을 높이는 유용한 도구가 될 수 있다. 하지만 핵심 웹 기술에 대해 지속적으로 공부해야 우리가 어떤 도구를 사용하든 쓸모 있는 경험을 만들 수 있다.

웹 플랫폼을 통해 더 멀리, 더 빠르게

프레임워크에 대한 주제를 다루면서 웹 플랫폼 자체가 강력한 프레임워크임에 틀림없다고 말할 수 있게 되었다. 앞에서 살펴보았듯이 기존의 마크업 패턴과 브라우저 기능을 활용하는 것이 훨씬 더 낫다. 대안은 이를 재창조하는 것이다. 하지만 우리가 보장한 그런 모든 노력에도 더 심각한 문제를 불러일으킨다. 그러므로 우리가 설치하는 모든 자바스크립트 패키지의 제작자가 문제를 포괄적이고 신중하게 해결했다고 가정하는 것이다.

단일 페이지 애플리케이션

개발자가 처리해야 할 문제 중 하나는 프로젝트에 맞지 않더라도 단일 페이지 애플리케이션 single page applications : SPA 모델을 적용해야 한다는 것이다. 물론 SPA의 클라이언트 측 라우팅을 통해 성능을 높일 수 있지만 다른 무언가를 잃을 수도 있다. 브라우저 자체의 내비게이션은 동기적이지만 여러 가지 기능을 제공한다. 그중 하나는 복잡한 세부 설정을 통해 이력을 관리한다는 점이다. 자신의 선택과 상관없이 자바스크립트가 없는 사용자는 접근 권한을 완전히 잃지는 않는다. 자바스크립트가 없을 때 SPA를 유지하려면 서버 측 렌더링은 갑자기 고려해야 할 사항이 된다.

Two series of screenshots. On the left, we have a blank screen for several seconds until the app appears after 5.24s. On the right, the basic components appear at 4ms and the site is fully usable at 5.16s.

그림 2. 느린 연결 상태에서의 애플리케이션 로딩 비교. 왼쪽 애플리케이션은 전적으로 자바스크립트에 의존하여 페이지를 로딩한다. 오른쪽 애플리케이션은 서버에서 응답이 이루어지지만 클라이언트 측에 hydrate 기능을 사용하여 기존 서버의 렌더링된 마크업과 연결한다.

클라이언트 측 라우터가 페이지의 어떤 콘텐츠가 변경되었는지 사용자에게 알려주지 않으면 접근성에 문제가 생길 수 있다. 이런 문제로 페이지에서 무엇이 바뀌었는지 알아내기 위해 보조 기술을 사용하는데, 이는 꽤 어려운 작업이 될 수 있다.

그리고 우리의 오래된 천적인 오버헤드가 있다. 일부 클라이언트 측 라우터는 매우 작지만 여기에서 해결되지 않는 리액트, 호환 가능한 라우터, 때로는 상태 관리 라이브러리까지 135킬로바이트가량의 절대 최적화할 수 없는 용량이 있음을 인정할 것이다. 그러므로 개발할 때 클라이언트 측 라우터가 얼마나 안 좋은지, 만들고자 하는 것 중 포기해야 할 것이 있는지 등을 고려해야 한다. 대개 만들고자 하는 것 중 포기하려는 것을 선택하는 편이 좋다.

만약 내비게이션 성능이 우려된다면 rel=prefetch 를 통해 문서 일부를 미리 가져올 수 있다. 프리페치 prefetch 는 우선순위가 낮아서 대역폭의 중요한 자원과 경쟁할 일이 거의 없기 때문에 캐시에 저장된 문서를 바로 불러와 페이지 로딩 속도를 혁신적으로 개선할 수 있다.

Screenshot showing a list of assets loaded on a webpage.

그림 3. HTML 내에서 writing/을 사용하면 초기 페이지를 프리페치한다. 사용자가 writing/ URL을 호출하면 브라우저 캐시에서 HTML이 즉시 로드된다.

링크 프리페칭 link prefetching 의 주요 단점은 잠재적인 낭비가 있을 수 있음을 알고 있어야 한다는 것이다. 구글에서 만든 작은 링크 프리페칭 스크립트인 Quicklink는 이런 문제점을 완화하기 위해 클라이언트 연결이 느리거나 데이터 세이버 모드가 활성화되어 있는지 확인하고 기본적으로 크로스 오리진 cross-origin 에서 링크 프리페칭을 막는다.

이미 잘 알고 있듯이 서비스 워커 service workers 는 우리가 클라이언트 측 라우팅을 사용하든 사용하지 않든 재방문한 사용자의 성능을 높이는 데 크게 기여한다. 서비스 워커를 사용하여 미리 캐싱해두면 링크 프리페칭을 사용하는 것과 마찬가지의 많은 이점을 얻을 수 있으며 링크 프리페칭보다 요청과 응답을 더 잘 제어할 수 있게 된다. 여러분이 생각하고 있는 사이트가 ‘애플리케이션’이든 아니든 간에 서비스 워커를 적용하는 것이 오늘날 자바스크립트를 가장 책임감 있게 사용하는 방법이라 할 수 있다.

자바스크립트는 레이아웃 문제의 해결 방안이 아니다

만약 레이아웃 문제를 해결하기 위해 패키지를 설치하고 있다면 다시 한 번 스스로에게 “나는 무엇을 달성하려고 하는가?”라고 물어보자. CSS는 이런 작업을 수행하기 위해 설계되었으며 효과적인 사용을 위한 추상화도 필요 없다. 자바스크립트 패키지로 해결되는 레이아웃 문제의 대부분은 박스 배치, 정렬 및 크기 조정, 텍스트가 넘칠 때의 관리, 전체적인 레이아웃 시스템이며 이는 현재 CSS로 모두 해결할 수 있다. 프로젝트를 시작할 때 프레임워크가 없어도 최신 레이아웃 엔진인 플렉스박스나 그리드로 충분히 가능하다. CSS가 ‘프레임워크’라 할 수 있는 셈이다. 기능 쿼리 feature queries 가 있으면 새로운 레이아웃 엔진을 적용하기 위해 레이아웃을 점진적으로 개선하는 것도 어렵지 않다.

레이아웃과 화면 문제를 해결하기 위해 자바스크립트를 사용하는 것은 이전부터 있던 일이다. 2009년 모든 웹사이트가 당시 더 훌륭한 브라우저에서 보이는 것처럼 IE6에서도 보이도록 우리 스스로 거짓말을 해가며 만들어야 했다. 2019년인 지금, 아직도 모든 브라우저에서 동일하게 보이도록 웹사이트를 개발하고 있다면 개발 목적을 다시 강력한 웹플랫폼 생각해보아야 할 것이다. 에버그린 브라우저 Evergreen Browser (사용자가 따로 재설치하지 않아도 브라우저가 자동으로 업데이트를 수행한다-옮긴이)에서는 가능하던 것이 지원되지 않는 몇몇 브라우저도 항상 있을 것이다. 모든 플랫폼에서 똑같이 보여야 한다는 관점은 헛된 추구일 뿐 아니라 점진적 향상의 주요한 적이라 할 수 있다.

자바스크립트를 죽이려는 것은 아니다

자바스크립트에 나쁜 감정은 없으니 오해하지 않았으면 한다. 자바스크립트로 인해 직업을 얻었고, 솔직히 말해서 10년 넘게 내 즐거움의 원천이었다. 다른 장기적인 관계와 마찬가지로 자바스크립트에 더 많은 시간을 할애하면서 더 많이 알 수 있었다. 자바스크립트는 해가 갈수록 더 유능하고 우아한 언어로 발전하여 풍부한 기능의 언어가 되었다.

하지만 자바스크립트와 사이가 안 좋을 때가 있다. 나는 자바스크립트에 대해서 비판적인 시각을 갖고 있다. 어쩌면 웹을 개발할 때 자바스크립트를 첫 번째 수단으로 보는 경향을 발전시킨 것에 대해 비판적이다라는 표현이 더 정확할지도 모른다. 크리스마스트리 조명과 뒤엉킨 공처럼 이것들을 하나하나 떼어내다보면 지금의 웹이 얼마나 자바스크립트에 취해 있는지 알게 된다. 심지어 필요하지 않을 때도 거의 모든 것을 위해 자바스크립트에 손을 뻗치고 있다. 때때로 숙취가 얼마나 안 좋을지 궁금해진다.

앞으로 다룰 글에서는 과도한 자바스크립트의 물결을 막기 위해, 그리고 모든 사람이 어디서나 적어도 이전보다는 사용하기 편한 웹을 만들기 위해 무엇을 해야 하는지에 대해 더 유용한 조언을 할 것이다. 그중 일부는 예방책에 대해서 다룰 것이며, 일부는 ‘해장술’을 줄일 수 있도록 도울 것이다. 어떤 경우든 그 결과는 같기를 바란다. 나는 우리 모두가 웹을 사랑하고 옳은 길로 가고 싶어 한다고 믿고 있으며 이를 위해 우리가 어떻게 해야 전체를 포괄할 수 있고 더 탄력적인 웹을 만들 수 있는지 생각해보았으면 한다.


매트 마키스의 『웹디자이너를 위한 자바스크립트』
자바스크립트의 기본 원리를 상세히 설명하여 디자이너나 개발자 또는 자바스크립트 초보자도 손쉽게 자바스크립트를 배울 수 있습니다. 기본 문법과 규칙, 함수, 객체, 루프의 개념을 예제와 함께 알기 쉽게 설명하고 자바스크립트의 강점인 간결하고 반복을 최소화하는 코드 작성법을 보여줍니다.

저작권 정보 이 글은 A List Apart 기사를 번역한 것입니다. 저작권자의 정당한 허락을 받은 저작물로 한국어판 저작권은 웹액츄얼리에 있습니다. 웹액츄얼리의 서면 동의 없이 무단 전재, 복제를 금합니다. 원본은 Responsible JavaScript : Part I에서 확인할 수 있습니다.

참여를 기다립니다! 웹액츄얼리에서 웹디자인 관련 영문 번역자를 찾습니다. 웹 콘텐츠 번역에 관심 있는 분은 메일로 간략한 본인 소개와 번역 이력을 보내주시면 연락드리겠습니다.
[email protected]

A List Apart 기사 모아보기

Jeremy Wagner

  • 저자
    Jeremy Wagner
    미네소타 출신이며, 독립적으로 활동하는 웹 성능 컨설턴트이자 작가이자 강연자로서 모든 사람이 어디서든 웹을 더 빠르게 사용할 수 있도록 최선을 다하고 있다.
  • 번역
    신은화 이화여자대학교 컴퓨터학과를 졸업했다. LG CNS에서 공공 SI, 안드로이드 개발을 거쳐 현재는 클라우드 CMP(Cloud Management Platform) 기획 및 개발 업무를 담당하고 있는 10년 차 IT개발/기획자이다.
    주요 번역서: 《완벽한 IT 인프라 구축을 위한 Docker》 《인프라 디자인 패턴》 《가장 쉬운 네트워크 가상화 입문 책》.
    주요 번역 기사: “IE에서 CSS 그리드 사용하기: 간격으로 자동 배치 그리드 만들기”, “그리드 완벽 가이드” 등.

WebMeUp 검토 – 새롭고 강력한 인터넷 마케팅 플랫폼

인터넷 마케팅 에이전시, 사내 SEO 담당자 또는 DIY SEO에 관계없이 무기고에 올바른 도구 세트가 있으면 캠페인을 훨씬 더 효과적으로 만들고 큰 도움이 될 수 있습니다.

2013년에는 인터넷 마케터의 삶을 더 쉽게 만들기 위해 수많은 SEO 앱이 개발되었습니다. 무료 도구부터 월 구독료 $600에 이르기까지 그 범위는 엄청납니다. 이처럼 다양한 SEO 솔루션이 풍부하다는 것은 한편으로는 좋지만 다른 한편으로는 많은 혼란을 야기하고 있습니다. 올바른 선택을 하고 다음과 같은 광범위한 중요한 SEO 작업을 포괄하는 소프트웨어를 얻는 것은 매우 어렵습니다.

  • 키워드 조사
  • 랭킹 모니터링
  • 경쟁 분석
  • 백링크 연구
  • SEO 사이트 감사
  • 링크 관리
  • 소셜 미디어 캠페인 분석
  • 그리고 더

그러나 이 리뷰에서 분석할 도구는 문제에 대처하고 거의 모든 힘든 테스트를 통과했습니다.

WebMeUp SEO 소프트웨어를 만나보세요!

WebMeUp은 SEO 앱의 새로운 플레이어입니다. 그것은 몇 달 전에 나타났지만 즉시 SEO 커뮤니티에서 뜨거운 관심을 불러 일으켰습니다. 이 솔루션이 저에게 적합한지 알아보기 위해 이 소프트웨어를 사용하기로 결정했습니다. 의외로 기대 이상이었습니다! 다음은 이 도구에 대한 제 개인 순위표입니다.

WebMeUp 스코어 카드

  • 특징 및 기능 ★★★★★
  • 사용 용이성 ★★★★★
  • 사용상의 안전성 ★★★★★
  • 속도 ★★★★★
  • SEO 캠페인의 각 측면에 대해 강력한 웹플랫폼 전달된 데이터의 양 ★★★★★
  • 고객 서비스 ★★★★★
  • 신고 ★★★★
  • 커뮤니티 ★★★★
  • 가격대비 ★★★★★
  • 전체 ★★★★★

이제 도구가 작동하는 모습을 보겠습니다.

가입

등록 절차는 꽤 쉽습니다. 15일 무료 평가판을 받으려면 웹사이트에 이메일/등록 이름을 입력하기만 하면 됩니다.

*신용카드가 필요하지 않습니다.

WebMeUp 가입

프로젝트 시작

시작하기 위해 해야 할 일은 웹사이트 URL을 입력하고 키워드를 입력하고 웹사이트를 최적화할 검색 엔진을 타겟팅하는 것입니다. 그게 다야!

Webmeup 프로젝트 시작하기

데이터는 즉석에서 수집되고 몇 분 만에 소프트웨어는 웹사이트의 주요 순위 요소에 대한 정보를 제공합니다. 프로젝트 보드에는 사이트의 주요 특성에 대한 간략한 개요를 제공하는 많은 위젯이 있습니다.

WebMeUp 검토

웹사이트 순위 모니터링

소프트웨어에는 SERP에서 웹사이트 존재를 측정할 수 있는 ‘키워드 및 순위’ 순위 확인 모듈이 장착되어 있습니다.
웹사이트가 현재 300개 이상의 지역 및 지역 검색 엔진에서 귀하의 키워드에 대해 순위를 매기는 방법을 확인할 수 있습니다. 데이터는 매일 자동으로 수집되고 모든 순위 기록은 프로젝트에 저장됩니다.

WebMeUp 모니터링 웹사이트 순위

키워드 연구

WebMeUp의 16가지 키워드 연구 메커니즘을 통해 트래픽을 발생시키는 많은 키워드를 찾을 수 있습니다. 또한 각 키워드는 KEI(Keyword Efficiency Index)에 따라 분석되므로 키워드의 효과를 판단하는 데 매우 유용합니다.

WebMeUp 키워드 연구

SEO 사이트 감사

‘페이지’ 탭에서 완전한 페이지 최적화 모듈을 찾을 수 있습니다. ‘사이트 아키텍처’ 하위 모듈은 웹사이트의 세부적인 스캔을 실행하고 취약점을 감지하고 사이트의 구조와 코딩을 미세 조정하는 방법에 대한 지침을 제공합니다. 모든 깨진 링크, 중복 콘텐츠, 누락된 강력한 웹플랫폼 페이지 제목, 코딩 오류 등을 제거하는 방법에 대한 자세한 조언을 얻을 수 있습니다.

방문 페이지

‘방문 페이지’ 하위 모듈에서 키워드에 최적화할 페이지를 선택할 수 있습니다. 소프트웨어는 해당 페이지의 각 HTML 요소를 최적화하는 방법에 대한 자세한 지침을 제공합니다.

백링크 분석

백링크 분석

소프트웨어 ‘백링크’ 모듈은 귀하의 웹사이트를 가리키는 모든 인덱싱된 링크의 전체 목록을 제공합니다. 각 링크는 다양한 SEO 중요 기준에 따라 자동으로 분석되어 사이트 백링크 프로필에 대한 자세한 그림을 제공합니다.

백링크 분석

또한 ‘관리’ 하위 모듈에서 모니터링하려는 링크를 수동으로 추가할 수 있습니다.

경쟁사

‘경쟁자’ 모듈은 틈새 경쟁자의 캠페인 및 활동을 모니터링하는 데 매우 유용할 수 있습니다. 온라인 라이벌이 무엇을 하고 있는지 알고 있으면 자신의 SEO 캠페인을 합리화하고 올바른 방향으로 보낼 수 있습니다.

경쟁자

보고서

보고 기능이 최근에 응용 프로그램에 추가되었습니다. 현재 보고서는 다소 기본적이지만 필요한 모든 정보가 포함되어 있습니다.

경쟁자

지역 사회

계정에 로그인하면 WebMeUp 사용자 커뮤니티에 액세스하여 소프트웨어에 대해 토론하고 SEO 캠페인의 다양한 단계에서 소프트웨어를 사용하는 방법에 대한 아이디어를 공유할 수 있습니다. 또한 여기에서 생각을 공유하고 의견을 교환할 수 있습니다. SEO 경험.

주의! 커뮤니티에서 더 많이 활동할수록 더 많은 웹 포인트를 얻을 수 있습니다. 나중에 WP를 구독 연장으로 교환할 수 있습니다!

보고

결론

모든 것을 요약하면 WebMeUp이 웹사이트 홍보를 위한 매우 효과적인 솔루션이 될 수 있다고 말할 수 있습니다. 이 소프트웨어는 하나의 사용자 친화적인 환경에서 다양한 모듈을 함께 제공하고 다양한 유형의 다양한 웹사이트 최적화 작업을 실행할 수 있도록 합니다.

웹 프론트엔드 프레임워크, 무엇을 쓸까?

과거와 달리 최근에는 자바스트립트 진영에서도 프레임워크를 이용한 개발이 필수로 여겨지고 있습니다. 2017년까지만 해도 개발자들은 프로젝트에 Angular와 React 중 어느 것을 사용해야 하는지 여부를 주로 토론했으나, 2018년 이후 Vue.js라는 새로운 프레임워크에 대한 관심이 높아지고 있는 추세입니다. 본 아티클에서는 웹 프론트엔드 영역에서 주요 라이브러리와 프레임워크로 자리잡은 React와 Vue.js, Angular의 현재 상태와 향후 전망을 살펴보겠습니다.

Angular
강력한 명령행 도구와 잘 정돈된 폴더 구조, 프로젝트 생성과 동시에 각종 환경이 한 번에 갖춰지는 등 필요한 기능을 모두 내장한 프레임워크입니다. 참고로 이렇게 애플리케이션을 만들기 위해 필요한 기능을 모두 갖춘 프레임워크를 '컴플리트 프레임워크(Complete Framework)'라고 합니다.
Google이 개발한 Angular는 2010년에 처음 출시되어 가장 오래 되었습니다. 2016년에는 타입스크립트(TypeScript) 기반 프레임워크인 Angular 2가 출시되면서 실질적인 전환이 이루어졌습니다.(AngularJS라는 원래 이름에서 'JS'가 삭제됨) AngularJS(버전 1)는 여전히 업데이트를 제공하고 있지만, 본 아티클은 Angular에 대한 토론을 집중적으로 다룹니다. 최신 안정버전은 2018년 10월에 출시된 Angular 7입니다.

React
사용자의 조작에 따라 사용자 인터페이스가 동적으로 변화하는 웹 애플리케이션을 개발할 수 있게 해 주는 프론트엔드 라이브러리입니다. React는 "A JavaScript library for building user interfaces"라고 주장하며 라이브러리를 표방하고 있습니다. Facebook이 개발한 React는 2013년에 출시되었으며, Facebook은 React를 자사의 제품(Facebook, Instagram 및 WhatsApp)에서 광범위하게 사용합니다. 2018년 11월에 발표된 16.x가 최신 안정버전입니다.

Vue.js
Vue.js는 이 그룹에서 가장 늦게 출시되었는데 Google 직원인 Evan You가 2014년에 개발했습니다. Vue.js는 대기업의 후원을 받지 못했음에도 지난 2년 동안 인기가 높아지고 있습니다. 현재 안정버전은 2.17이며, 2018년 8월에 출시되었습니다. Vue.js의 컨트리뷰터는 Patreon에서 지원하며, 현재 프로토타입 단계에 있는 Vue3은 타입스크립트 기반으로 이동할 계획입니다.

오픈소스 프레임워크를 사용하기 전에 라이선스를 검토해야 합니다. 흥미롭게도 세 가지 프레임워크 모두 MIT 라이선스를 채택하고 있습니다. MIT 라이선스는 독점 소프트웨어에서도 재사용에 대한 제한이 없습니다.(React의 라이선스는 한때 BSD+Patent 라이선스였지만 현재는 MIT 라이선스입니다.

Angular
프레임워크라는 것입니다. 최근에는 자바스크립트로 웹페이지뿐만 아니라, 스마트폰이나 데스크탑에서 동작하는 애플리케이션을 개발할 수 있는데, Angular는 이를 지원하기 위한 기능들을 갖추고 있습니다.
또한, 타입스크립트를 주력언어로 채택하여 정적 타입을 제공하고 있습니다. 정적 타입의 도입으로 코드 어시스트, 타입 체크, 리팩토링을 지원하는 강력한 도구 사용이 가능해지며, 객체지향적 프로그래밍에 적합해집니다. 이는 많은 개발자 간의 협업이 필요한 대규모 애플리케이션 강력한 웹플랫폼 개발에 보다 효과적입니다.

Angular가 제공하는 또 다른 강력한 도구는 Angular CLI입니다. 프레임워크에 익숙하지 않은 초심자들이 가장 어렵게 생각하는 장벽 중 하나인 개발환경 구축을 Angular CLI가 제공하는 명령 하나만으로 간단히 해결할 수 있습니다. 아울러 다른 프레임워크가 제공하는 CLI와는 달리 추가적인 명령들을 통해 개발환경 구축뿐만 아니라, 개발 전반에 걸쳐 편리함을 제공합니다.

그리고 Angular는 컴플리트 프레임워크에 걸맞게 Router, Forms, HTTP 등 다양한 모듈을 지원합니다. 또한 RxJS를 내장하고 있어 HTTP 뿐만 아니라 모든 이벤트를 스트림으로 RxJS의 옵저버 패턴에 의해 유연하게 제어할 수 있습니다. 그 밖에도 애니메이션을 위한 Angular Animations, 국제화를 위한 i18n 모듈, 테스팅 모듈 등도 제공하고 있습니다.

또 다른 특징으로 컴포넌트 기반 개발을 중심으로 한다는 점을 들 수 있습니다. 컴포넌트 기반으로 개발한다는 것은 컴포넌트의 형태로 사용자 인터페이스를 정의하고, 자바스크립트 파일뿐 아니라 템플릿 역할을 할 HTML 파일이나 스타일시트가 담긴 CSS 파일도 컴포넌트에 포함한다는 것입니다. 이 파일들은 컴포넌트마다 자동으로 생성됩니다.

또한 Angular는 타입스크립트의 문법인 'decorator'를 많이 활용하는 선언적 코딩 스타일을 사용합니다. 태그명, 템플릿 파일, CSS 파일에 대한 정보를 decorator 문법으로 전달하고 있습니다.


React
React의 특징은 Angular와 달리 개발에 필요한 모듈을 기본으로 제공하지 않고, 서드파티(Third party) 라이브러리에 의존한다는 점입니다. 공식적으로 React는 작은 자바스크립트 UI 라이브러리일 뿐, 그 외의 것은 사용자에게 일임하고 있습니다. 대신 다른 프레임워크에 비해 방대한 에코시스템이 존재합니다. 사용자는 자유롭게 개발에 필요한 모듈을 결정하고 선택할 수 있습니다. 커다란 에코시스템은 React의 장점으로 보이지만 사용자에게 책임이라는 부담을 지우기도 합니다. 그러나 다행스럽게도 React 진영이 이러한 사용자 부담에 대해 완전히 손놓고 있지는 않습니다. Angular CLI와 마찬가지로 초심자의 빠른 개발환경 구축을 위해서 Create React App이라는 툴을 제공하여 진입 장벽을 낮추고 있습니다.

React 역시 컴포넌트 기반의 개발을 채택하고 있습니다. 그러나 컴포넌트의 구현은 자바스크립트에 조금 더 치중되어 있습니다. 다른 프레임워크들이 HTML 마크업 기반으로 그 위에 템플릿 문법을 추가해 컴포넌트의 구조와 구성요소를 정의하는 반면, React는 XML 포맷의 템플릿을 직접 자바스크립트에 내장시키는 형태로 JSX 기술을 주력으로 사용하는 것을 권장하고 있습니다. 그렇기 때문에 다른 프레임워크에 비하여 더 자바스크립트에 집중된 형태의 컴포넌트가 나타나게 됩니다.

React가 Angular와 구별되는 또 다른 특징 중 하나는 가상 DOM을 이용한다는 것입니다. 가상 DOM은 가상 트리 형태의 자료구조에 실제 DOM 트리가 매핑된 형태로 동작합니다. 전통적인 DOM은 한 요소에서 변경이 발생하더라도 전체 트리구조를 업데이트하기도 합니다. 따라서 렌더링 성능이 떨어질 수 있는 불안요소가 있습니다. 가상 DOM은 가상 DOM 내의 변경사항을 추적하여 전체 트리의 다른 부분에 영향을 주지 않고, 매핑된 실제 DOM상의 특정요소만 업데이트할 수 있게 도와 줍니다. 일반적으로 가상 DOM이 실제 DOM을 조작하는 것에 비해 성능이 뛰어나다고 볼 수 있습니다. 하지만 Angular는 실제 DOM 위에서 동작함에도 변경감지 구현 기능이 따로 존재하여 성능을 높이고 있다는 것을 참고하시기 바랍니다.

React만의 특징이 한 가지 더 있습니다. 바로 데이터 바인딩 방법입니다. 데이터 바인딩은 모델(비즈니스 로직)과 뷰(UI) 간에 데이터를 동기화하는 프로세스입니다. 기본적으로 단방향과 양방향이라는 두 가지 구현방식이 있습니다. 두 방법의 차이는 모델-뷰(Model-View) 업데이트 처리 방식입니다. 양방향 데이터 바인딩은 뷰가 변경되면 모델도 변경되며 모델이 변경되면 뷰도 변경되는 처리방식입니다. React는 단방향 데이터 바인딩을 사용합니다. 모델이 변경되면 뷰가 변경되는 방법만을 허용하고, 뷰가 변경된 경우 모델을 변경시키지 않습니다. 뷰가 변경된 경우 모델을 변경하는 코드를 작성해야 합니다. 단방향 데이터 바인딩은 일반적으로 예측 가능성이 높기 때문에 코드가 더 안정적이지만, 양방향 바인딩에 비해서 코드 작성시간이 더 필요합니다. 참고로 Angular와 Vue.js는 단방향 데이터 바인딩과 양방향 데이터 바인딩 모두 지원합니다.


Vue.js
Vue.js도 React처럼 가상 DOM을 사용하고, 컴포넌트 기반 개발을 중심으로 합니다. 그러나 React와 구별되는 Vue.js만의 특징은 컴포넌트의 자바스크립트 집중도가 낮다는 점입니다. 즉 JSX를 권장하는 React와는 달리, 컴포넌트 구조와 구성요소를 작성할 때 Angular처럼 HTML 마크업 기반의 템플릿 문법을 사용합니다. Vue.js 컴포넌트 작성 시 보통 '단일 파일 컴포넌트'라는 .vue 확장자를 가지는 파일을 사용합니다. 이 파일은 HTML 마크업 기반의 템플릿 부분과 자바스크립트 부분 그리고 CSS를 작성하는 스타일 시트 부분으로 나뉩니다. React에 비해 기존 HTML, CSS에만 익숙한 웹 디자이너가 Vue.js를 접했을 때 컴포넌트 구성요소와 구조를 쉽게 이해할 수 있습니다. 따라서 React보다 기존 웹 디자이너와의 협업이 쉬워지는 장점이 있습니다.

다른 프레임워크들과 마찬가지로 Vue.js도 CLI 툴을 제공합니다. 그리고 애플리케이션 개발에 필요한 다른 모듈을 React처럼 사용자에게 책임을 맡기지 않고 가이드 문서를 통해 특정모듈을 권장하고 있습니다. Angular처럼 내장모듈로 정해진 것은 아니지만 React처럼 방임에 가깝게 두지도 않고 둘 사이를 절충한다고 볼 수 있습니다.

주목할 만한 것은 대기업 직원이 주도하고 있는 다른 프레임워크들과 달리 Vue.js는 커뮤니티가 주도하는 프레임워크라는 것입니다. 문서나 코드의 품질이 떨어질까 우려될 수도 있으나, 다행스럽게도 공식문서가 여러 나라의 언어로 잘 번역되어 있을 뿐만 아니라, 문서의 구성이 예제 위주로 되어 있어 필요한 내용만 빠르게 발췌하여 적용할 수 있습니다. 이는 진입장벽을 낮춰주는 또 다른 장점으로, React에 비해 초심자에게 비교적 접근성이 뛰어나다고 볼 수 있습니다.


Angular vs React vs Vue.js의 상태와 기록에 대한 간단한 요약은 다음과 같습니다.

Angular, React, Vue.js 비교
Angular React Vue.js
Initial release 2010 2013 2014
Official site angular.io reactjs.org vuejs.org
Approx. size (강력한 웹플랫폼 KB) 500 100 80
Current version 7 16.6.3 2.17
Used by Google, Wix Facebook, Uber Alibaba, GitLab

Angular와 React의 인기를 확인하는 좋은 방법은 GitHub 저장소의 스타 수입니다. Vue.js에 대한 스타 수의 급격한 변화는 2016년 중반에 발생했으며, 최근에는 Vue.js가 React를 제치고 가장 인기있는 프레임워크로 발돋움하고 있습니다.

Angular, React, Vue.js의 GitHub 저장소 스타 수 추이(2014~2018년):Angular, React, Vue.js의 GitHub 저장소 스타 수 추이(2014~2018년) / Angular : 2014년 10000명, 2015년도 20000명, 2016년도 40000명, 2017년도 60000명, 2018년도 80000명 / React : 2014년 10000명, 2015년도 20000명, 2016년도 30000명, 2017년도 40000명, 2018년도 50000명 /Vue.js : 2014년 10000명,2015년 30000명, 2016년 60000명,2017년 :100000명,2018년 120000명, 생략

그림1 - Angular, React, Vue.js의 GitHub 저장소 스타 수 추이(2014~2018년)

StackOverflow(www.stackoverflow.com)의 개발자 설문조사는 이들 프레임워크의 일상적인 쓰임새를 확인하는데 유용합니다. 가장 최근의 설문조사 결과를 보면 GitHub의 스타 수와는 달리 훨씬 더 많은 개발자가 Vue.js보다 React로 작업하고 있음을 알 강력한 웹플랫폼 수 있습니다.

사용 중인 웹 프레임워크에 대한 StackOverflow의 개발자 설문조사 결과(2019년): jQuery 48.7%, React.js 31.3%, Angular/Angular.js 30.7%,ASP.NET 26.3%,Express 19.7%,Spring 16.2%,Vue.js 15.2%,Django 13.0%,Flask 12.1%,Laravel 10.5%,Ruby on Rails 8.2%,Drupal 3.5%

그림2 - 사용 중인 웹 프레임워크에 대한 StackOverflow의 개발자 설문조사 결과(2019년)

보다 자세하게 알아보기 위해 Status of JavaScript(www.stateofjs.com)에서 개발자가 이전에 사용했었던 프레임워크와 그렇지 않은 프레임워크를 구분해 조사한 결과를 살펴볼 수 있습니다. [그림 3]을 보면 React는 명확한 리더이며 Vue.js가 관심과 인기를 얻으면서 상대적으로 Angular에 대한 관심은 해마다 줄어들고 있음을 알 수 있습니다.

과거~현재에 사용 중인 웹 프레임워크에 대한 Status of JavaScript의 개발자 설문조사 결과(2018년):React : I

그림3 - 과거~현재에 사용 중인 웹 프레임워크에 대한 Status of JavaScript의 개발자 설문조사 결과(2018년)

커뮤니티 & 개발

이제 각 프레임워크의 역사와 추세를 잘 알고 있으므로 프레임워크의 개발을 평가하기 위해 커뮤니티를 살펴보겠습니다. 우리는 이미 모든 프레임워크에서 주요 Release가 출시되었음을 알고 있고, 이는 개발이 본격적으로 진행되고 있음을 나타냅니다.

Angular, React, Vue.js의 GitHub 저장소 통계를 살펴보겠습니다.

Angular, React, Vue.js의 GitHub 저장소 통계 (2019년 7월
Angular React Vue.js
Watchers 3,294 6,638 5,923
Stars 49,015 131,181 141,538
Forks 13,224 24,164 20,388
Commit in last month 14,467 11,035 3,022
Contributors 950 1,295 276

Vue.js에는 많은 수의 관찰자, 스타, 포크가 있습니다. 이것은 Vue.js와 React를 비교할 때 사용자와 그 가치 사이에서 인기가 있음을 보여줍니다. 그러나 Vue.js의 커밋 및 참여자 수는 Angular와 React보다 낮습니다. 하나의 가능한 설명은 Vue.js가 공개소스 커뮤니티에 의해 완전히 주도되는 반면, Angular와 React는 Google 및 Facebook 직원의 기여도가 상당한 비중을 차지한다는 것입니다. 이러한 통계만으로 어느 하나를 결정하기는 쉽지 않습니다. 세 가지 프로젝트 모두 중요한 개발활동을 보여주며 앞으로도 계속 진행될 것입니다.

마이그레이션

선택한 프레임워크로 작업할 때 프레임워크의 업데이트가 애플리케이션에 영향을 미치는 것을 고민해 볼 필요가 있습니다. 한 버전에서 다른 버전으로 업데이트할 때, 대부분의 경우 많은 문제점을 겪지는 않겠지만 일부 업데이트는 중대한 변화가 포함될 수 있고 호환성을 유지하기 위해 구조변경이 필요한 경우가 있기 때문에 프레임워크 업데이트는 중요하게 다루어져야 합니다.

Angular는 6개월마다 주요 업데이트를 계획합니다. 주요 API가 사용 중지되기 전에 6개월의 유예기간을 두기 때문에 필요한 경우 변경을 수행하는데 두 번의 릴리스 주기(1년)가 소요됩니다.
Angular vs React와 관련하여 Facebook은 Twitter 및 Airbnb와 같은 거대기업이 React를 사용하므로 안정성이 가장 중요하다고 말했습니다. 버전을 통한 업그레이드는 일반적으로 React가 가장 쉽습니다. react-codemod와 같은 스크립트를 사용하면 마이그레이션 하는데 큰 도움이 됩니다.
마이그레이션을 위한 FAQ 섹션에서 Vue.js는 1.x에서 2로 마이그레이션 할 경우 API의 90%가 동일하다고 언급합니다. Vue.js는 콘솔에서 애플리케이션의 상태를 평가하는 Migration Helper Tool이 있습니다.

크기 및 로드타임

각 프레임워크의 크기는 다음과 같습니다.

Angular : 500KB
React : 100KB
Vue.js : 80KB

프레임워크 간의 크기는 상당한 차이가 있지만 평균 웹 페이지 크기와 비교할 때는 강력한 웹플랫폼 모두 작다고 볼 수 있습니다. 또한 자주 사용하는 CDN을 사용하여 이러한 라이브러리를 로드하는 경우 이미 사용자의 로컬시스템에 라이브러리가 로드되어 있을 가능성이 높습니다.

컴포넌트는 Vue.js, React, Angular 세 가지 프레임워크의 핵심적인 부분입니다. 컴포넌트는 일반적으로 입력을 받아 이를 기반으로 동작을 수행합니다. 동작 수행은 통상 페이지 전체나 일부 UI 변경으로 나타납니다. 컴포넌트를 사용하면 쉽게 코드를 재사용할 수 있습니다. 컴포넌트는 페이지 전체 혹은 일부일 수 있습니다. 페이지 전체가 컴포넌트의 트리 형태로 나타날 수 있습니다. 하나의 페이지에서 일부 컴포넌트를 가져다가 다른 페이지에서 재사용할 수도 있습니다.

Angular에서는 컴포넌트는 Directive를 이용합니다. Directive는 DOM 요소에 대한 어떠한 표시이고, Angular는 이를 통해 특정 동작을 위한 DOM을 추적하거나 DOM에 동작을 첨부할 수 있습니다. 따라서 Angular는 컴포넌트의 UI 부분을 HTML 태그와 속성으로 따로 두고, 자바스크립트 코드를 UI의 동작을 위해 따로 둡니다.
흥미롭게도 React는 UI 표현과 동작을 결합합니다. 이전에 말했다시피 React에서는 JSX 기술을 통해 자바스크립트의 코드 위주로 UI를 표현하고 그 동작을 지시합니다.
Vue.js에서는 UI 표현과 동작이 모두 컴포넌트 파일의 일부이기 때문에 React와 비교할 때 더 직관적으로 작업할 수 있습니다. 또한 Vue.js는 자바스트립트 내에서도 UI의 구성요소와 동작을 결합할 수 있습니다.

학습 난이도

Angular는 완전한 솔루션이라고 생각해 높은 학습 난이도를 가지고 있으며, 이를 마스터하려면 타입스크립트 및 MVC와 같은 관련 개념을 배워야만 합니다. Angular를 배우는 데는 시간이 걸리지만 이같은 시간 투자는 프론트엔드 전체의 동작방식을 이해하는 측면에서 개발자에게 도움이 되기도 합니다.

React는 약 1시간만에 사용환경을 설정할 수 있는 Getting Started 가이드를 제공합니다. 문서는 철저하고 완벽하며, 일반적인 문제에 대한 해답은 StackOverflow에 등록되어 있습니다. React는 완전한 프레임워크가 아니기 때문에 고급기능을 위해서는 서드파티 라이브러리를 사용해야 합니다. 이로 인해 핵심 프레임워크의 학습난이도가 높지는 않지만 추가기능으로 수행하는 경로에 강력한 웹플랫폼 따라 달라집니다. 또한 서드파티 라이브러리를 사용하는 것이 반드시 모범사례인 것만은 아닙니다.

Vue.js는 Angular나 React보다 배우기가 더 쉽습니다. 또한 Vue.js는 컴포넌트 사용과 같은 기능에 대해 Angular 및 React와 많은 부분이 겹칩니다. 따라서 두 가지 중 하나에서 Vue.js로의 전환은 비교적 용이한 편입니다. 그러나 Vue.js의 단순성과 유연성은 양날의 검입니다. 디버깅 및 테스트가 어려워질 수도 있기 때문입니다.

Angular, React 및 Vue.js는 비교적 서로 다른 학습난이도를 가지고 있지만 학습범위는 매우 넓습니다. 예를 들어, Angular와 React를 WordPress 및 WooCommerce와 통합하여 점진적인 웹 앱을 만들 수 있습니다.

과거 1년 동안 React와 Vue.js, Angular의 NPM(Node Package Manager) 다운로드 현황으로 추측해 보건대, 당분간은 React가 계속해서 대세로 자리잡을 것으로 보입니다.

React, Vue.js, Angular의 NPM 다운로드 현황(2019년 7월) : 1년동안 다운로드수 - react :2018년 6월 27000,7월 28000 8월 30000 9월 29000 10월 37000 11월 39000 12월 40000 2019년 1월 18000 2월 42000 3월 52000 4월 58000 5월 47000 6월 45000,VUE : :2018년 6월 5000,7월 28000 8월 5000 9월 5000 10월 5000 11월 6000 12월 8000 2019년 1월 3000 2월 8000 3월 9000 4월 58000 5월 9500 6월 9500, Angular NPM/core ::2018년 6월 9000,7월 80000 8월 100000 9월 100000 10월 100000 11월 100000 12월 100000 2019년 1월 50000 2월 100000 3월 100000 4월 110000 5월 100000 6월 100000

그림4 - React, Vue.js, Angular의 NPM 다운로드 현황(2019년 7월)

프론트엔드 생태계는 여전히 역동적이며 빠르게 변하고 있습니다. 개발자들이 새로운 프레임워크에 익숙해지는데 약간의 시간이 걸리기 때문에 선택할 수 있는 프레임워크에는 큰 차이가 없습니다. 모든 프레임워크는 그들만의 특징이 있기에 제품을 개발하는 동안 각각의 케이스에 맞추어 적합한 것을 선택할 필요가 있습니다. 개인으로는 프로젝트의 규모가 크고 타입스크립트를 좋아한다면 Angular, 거대한 생태계와 유연성을 원한다면 React, 쉽고 가벼운 프레임워크를 원한다면 Vue.js로 선택하기를 권해 드립니다.

▶ 해당 콘텐츠는 저작권법에 의하여 보호받는 저작물로 기고자에 저작권이 있습니다.
▶ 해당 콘텐츠는 사전 동의없이 2차 가공 및 영리적인 이용을 금하고 있습니다.

작업 방식 간소화

Box

중요한 파일을 보호하는 것은 최우선순위 과제입니다. Box에서 고급 보안 제어, 지능형 위협 감지 및 완벽한 정보 관리 솔루션을 제공하는 이유가 여기에 있습니다. 그러나 고객의 요구 사항이 거기서 그치지 않기에 엄격한 데이터 개인 정보 보호, 데이터 주거성 및 업계 규정 준수 기능도 제공합니다.

원활한 공동 작업

귀하의 비즈니스는 강력한 웹플랫폼 팀과 고객부터 파트너와 공급업체에 이르는 많은 사용자 사이의 공동 작업에 따라 달라집니다. 콘텐츠 클라우드는 모든 사용자가 한 곳에서 함께 가장 중요한 콘텐츠 작업을 하도록 해줍니다. 따라서 모든 것이 안전하므로 안심할 수 있습니다.

강력한 전자 서명

판매 계약서, 제안서, 공급업체 계약서와 콘텐츠는 비즈니스 프로세스의 핵심이며 점점 더 많은 프로세스가 디지털로 이동하고 있습니다. Box 요금제에 기본적으로 통합된 전자 서명이 포함된 Box Sign을 사용하면 비용 효율적으로 비즈니스를 추진할 수 있습니다.

간소화된 워크플로

매일 번거로운 수동 프로세스를 처리하느라 시간을 낭비하게 됩니다. Box는 누구나 HR 온보딩, 계약 관리와 같은 반복되는 핵심 비즈니스 워크플로를 자동화할 수 있도록 지원합니다. 워크플로가 더욱 빠르게 이동하므로 가장 중요한 작업에 집중할 수 있습니다. 누구나 이점을 누리게 됩니다.

1,500개 이상의 앱 통합

콘텐츠 클라우드를 사용하면 작성, 액세스, 공유 또는 저장 위치에 관계없이 모든 콘텐츠를 하나의 안전한 플랫폼으로 관리할 수 있습니다. 1,500개 이상의 원활한 통합을 통해 팀에서 보안 또는 관리 용이성을 그대로 유지하면서 원하는 방식으로 업무를 수행할 수 있습니다.

플랫폼

개방형 플랫폼

개방형 API, 퍼스트 파티 SDK, 통합 개발자 도구 및 풍부한 문서를 통해 비즈니스 요구에 맞게 Box를 사용자 지정하고 확장할 수 있습니다. 주요 워크로드를 자동화하고 Box 환경을 사용자 정의하며 비즈니스 앱을 안전하게 연결합니다.

Box Shuttle

콘텐츠 마이그레이션

시장을 선도하는 콘텐츠 마이그레이션 도구인 Box Shuttle을 통해 콘텐츠 클라우드로의 전환을 가속화할 수 있습니다. 빠르고 사용하기 쉬우며 비용 효율적입니다. 가장 큰 장점은 Box의 강력한 성능과 보안을 바탕으로 제작되므로 콘텐츠를 더욱 효과적으로 활용할 수 있다는 것입니다.

관리자 제어

관리자 제어

Box를 사용하면 사용자 관리가 단순해집니다. 지능형 모니터링 및 보고 도구를 사용하면 조직 전체에서 콘텐츠가 어떻게 공유되고 액세스되는지 한눈에 파악할 수 있습니다. 완벽한 가시성과 제어력을 확보할 수 있으므로 팀에서 더 많은 작업을 수행할 수 있습니다.


0 개 댓글

답장을 남겨주세요