Front-End Tooling Trends for 2017

Thống kê và khảo sát

Những cuộc khảo sát rất hữu ích để khám phá các công cụ mới và làm rõ những kiến thức chưa rõ ràng của bạn. Vào thời điểm làm cuộc khảo sát này đã nhận được 5,254 phản hồi ý kiến về các Front-End Tooling. Tuy nhiên, những phải hồi trên chỉ mang tính chất tham khảo.

Kết quả toàn cầu

Cuộc khảo sát được diễn ra trên toàn cầu, tuy nhiên chủ yếu đối với các nước có ngôn ngữ chính là tiếng anh. Một số công cụ được phát triển và sử dụng phổ biến ở một số quốc gia khác.

Kiến thức của nhà phát triển

Cuộc khảo sát đã thu hút được những lập trình viên có kiến thức tốt về các câu hỏi, biết được sự tồn tại của những Front-End Tooling và xu hướng phát triển của chúng.
Có 83% số người được hỏi có kinh nghiệm về Front end từ 2 năm trở lên, chỉ có 5% thừa nhận bản thân có kinh nghiệm dưới 1 năm.

Những lập trình viên có ít kỹ năng có ít khả năng hoàn thành được cuộc khảo sát, vì vậy các kết quả có thể bị lệch.

CSS

Có 63% lập trình viên đánh giá kiến thức về CSS của họ ở trình độ advanced hoặc expert.

Mặc dù là một tập hợp các cặp thuộc tính và giá trị dường như đơn giản nhưng CSS rất khó để nắm vững. CSS3 giới thiệu một loạt các hiệu ứng mới và ngày càng khó khăn để có kinh nghiệm sử dụng nó. Ví dụ, mình có một chút kinh nghiệm về CSS Grid module, và thường sử dụng Force mỗi khi phát triển bố cục với Flexbox layout.
10% những lập trình viên có kinh nghiệm dưới 1 năm khẳng định họ có khả năng tốt về CSS. Tôi nghĩ rằng nếu họ sớm khám phá ra rằng, họ càng tìm hiểu thì họ sẽ nhận ra rằng kiến thức của họ về CSS không nhiều như họ nghĩ.

CSS preprocessors (Tiền xử lý CSS)

Có hơn 63% sử dụng Sass, rõ ràng nó là nhà vô định của CSS preprocessors. Có 8% sử dụng PortCSS kết hợp với các preprocessors khác để cung cấp các chức năng hữu ích khác - chẳng hạn như AutoPrefixer...
Gần 14% trả lời rằng họ không dùng CSS preprocessors mà họ làm việc với CSS thuần.
Khoảng 70% người trả lời đã cố gắng với Less và 19% đã cố gắng với Stylus, 80% trả lời chưa bao giờ tìm hiểu về Rework.

CSS naming schemes (Quy ước đặt tên)

46% các lập trình viên sử dụng quy ước đặt tên. Nhưng con số này tăng lên 57% đối với những lập trình viên có trình độ CSS của họ ở mức expert.
Lựa chọn được sử dụng nhiều nhất là BEM với 40%, CSS Modules(16%), OOCSS(15%), SMACSS(13%).

JavaScript

Nếu bạn cảm thấy các công cụ CSS quá phức tạp, chào mừng bạn đến với JavaScript.
Các phản hồi đã khiêm tốn hơn với 51% xếp hạng đánh giá kiến thức của các lập trình viên về JavaScript của họ ở mức advanced hoặc expert.

Libraries and frameworks

Mặc dù có nhiều câu hỏi được đặt ra cho các lập trình viên nhưng hơn 99% các lập trình viên đã sử dụng jQuery và 31% cho rằng nó cần thiết hầu hết cho các dự án. 70% trả lời rằng họ vẫn sử dụng jQuery cho các dự án hiện tại của họ.

ES6 to ES5 transpilers

Có 62% lập trình viên sử dụng Babel để chuyển mã ES6 sang mã ES5 một cách thân thiện. 31% có biết về các công cụ chuyển mã như Babel và 7% không biết những thuật ngữ này.
Con số này có vẻ cao. Internet Explorer và các ứng dụng cũ hơn không hỗ trợ cú pháp JavaScript mới nhất nhưng, nếu bạn viết mã ES6, tại sao phải lo lắng để hỗ trợ chúng? Nếu bạn cần hỗ trợ cho IE11 và thấp hơn, nó sẽ đơn giản và ít lỗi hơn khi viết mã ES5?

Other JavaScript tools (Công cụ JavaScript khác)

41% lập trình viên sử dụng ESLint, 19% sử dụng JSLint và 14% sử dụng JSHint để kiểm tra code của họ.
23% lập trình viên trả lời không sử dụng các công cụ kiểm tra code của họ. Họ có thể dựa vào trình soạn của trình duyệt để phát hiện lỗi của họ.
Một số công cụ được sử dụng nhiều nhất là :
Mocha – TDD/BDD (23%)

Jasmine – BDD (17%)

QUnit – TDD (4%)

Jest – TDD/BDD (3%)

Ava – TDD/BDD (2%)

Cuối cùng, có 94% sử dụng npm - trình quản lý các Node.js package. Và bất ngờ khi có 32% có kinh nghiệm với TypeScript.

Nguồn tham khảo

https://www.sitepoint.com/front-end-tooling-trends-2017/
https://www.webdesignerdepot.com/2017/04/the-state-of-front-end-tooling/