Có gì hot? Tuần 47 - 2022

Viết bởi @kcjpop

Đăng ngày

Dài 853 từ. Đọc trong 5 phút.

State of Frontend 2022

Nhiều khi mình cũng hoang mang vì có quá nhiều cái khảo sát “State of…” xong không biết cái nào là cái nào. Chẳng hạn như cái State of Frontend 2022 vừa ra kết quả thì State of JavaScript 2022 lại đang chạy. Thật rối cái đầu mà 😵

Mà thôi, hãy xem State of Frontend 2022 có gì mới lạ không ha. Trước hết là tình hình các frameworks.

Có thể thấy rõ ràng React vẫn đang dẫn đầu và được mọi người yêu mến. Năm nay có thêm sự xuất hiện của Next.js nữa. Vue đứng thứ ba và theo sau là Angular. Không ngạc nhiên lắm khi dân tình càng ngày càng “bớt thích” Angular đi. Những framework còn lại là Svelte, Gatsby, Nuxt.js, và Remix. Một điều đáng tiếc là không thấy Solid.js trong danh sách 😕

Càm ràm:

Tức mình cái biểu đồ trên ghê vì không đặt tên của từng cột ngay bên dưới, mà lại để hết qua bên trái, làm người dùng phải xem màu của cột rồi dò bên dưới để biết đây là của framework nào. Mới đầu mình đọc nhầm thành Next.js đứng nhất xong Vue đứng nhì đó. Bạn nào làm data viz nhớ cẩn thận nha.

Khi được hỏi về những framework nào bà con muốn học trong năm sau, câu trả lời tốp đầu là Svelte, Remix, Next.js, Vue. Mình cũng đồng quan điểm này và nghĩ Remix sẽ được nhiều người chú ý hơn sau khi về tay của Shopify (và màn chào sân đẫm drama của Next.js 13).

Khi được hỏi về các thư viện được yêu thích, mọi người chọn axios 🤔, lodash 🤗, redux 😱, date-fns 🥰, và moment 🫣. Cũng hơi ngạc nhiên khi axios trong danh sách, vì mình nghĩ mọi người xài fetch và wrapper của fetch như ky hết rồi (Bạn có biết axios mới vừa ra bản 1.0 gần đây hông, sau rất nhiều năm 0.x.x?). Với sự phát triển về mặt cú pháp của JavaScript thì lodash càng ngày càng ít được dùng, nhưng có vẻ vẫn cần thiết trong một số trường hợp như debounce hay throttle. Nghe nói sắp tới lodash sẽ được viết lại với cú pháp hiện đại hơn á.

date-fns so với moment thì không phải bàn, một bên gọn nhẹ, “rung cây” được, một bên thì nặng nề. Trang chủ của moment cũng khuyến khích mọi người xài thư viện khác đó, và mình đề xuất iamkun/dayjs nha. Còn redux thì thôi, bỏ đi mà làm người :yaomin:

Nói về các design system/frontend toolkit thì Material UI/ MUI vẫn được mọi người ưa chuộng, theo sau là Tailwind UI. Bootstrap một thời hoàng kim giờ đành ngậm ngùi ở vị trí thứ ba. Có một điều thú vị là mọi người vẫn viết dùng SCSS, mặc cho mình đoán “cool kids” bây giờ là phải xài Tailwind. Có lẽ thói quen cũ khó bỏ, hoặc cái gì vẫn đang xài tốt thì cứ xài thôi.

TypeScript càng ngày càng được nhiều lập trình viên sử dụng, lên đến 84% trong tổng số người được khảo sát. Bình luận trong bài nói rằng…

TS made web development way less frustrating than it was before.

làm mình phải suy nghĩ web development có “chán nản” bao giờ 🤷‍♂️ Dù sao nếu bạn muốn phát triển thêm trong nghề thì cũng đừng bỏ qua TS nha. Ehkoo cũng phải mò đi học TS đó.

Phần còn lại của bản khảo sát nói về các vấn đề như hosting, micro frontends, CI/CD, v.v. mà mình nghĩ bạn có thể đọc thêm nếu quan tâm. Có một sự thiếu sót khi bản khảo sát này không có câu hỏi về RESTful API vs GraphQL, WebAssembly, hay Web Component.

Tin vắn

  • ESLint có khả năng sẽ được viết lại bằng Rút 🦀. Nguồn

Mới thấy trên quầy

Một vài thư viện/ công cụ hữu ích mà bọn mình mới phát hiện 😛

  • mantinedev/mantine: một thư viện UI cho React, nhìn cũng xịn xò lắm.

  • justin-schroeder/arrow-js: một thư viện nhỏ xíu xiu (3KB) hỗ trợ observable data và declarative/ reactive DOM.

  • pintariching/railwind: Trình biên dịch Tailwind nhưng viết bằng Rút 🦀. Why? Vì cái gì bây giờ cũng phải được viết (lại) bằng Rút 🦀 hết á.

Đọc/ xem gì cuối tuần

  • An Interactive Guide to Flexbox: Một bài viết tương tác giới thiệu về flexbox của Joshua Comeau.

  • Understanding the useId hook in React: Tựa đề nói lên tất cả: Tìm hiểu về useId() của React 18.

  • Patterns.dev - Modern Web App Design Patterns: là một quyển sách miễn phí, giới thiệu về các patterns hay gặp khi lập trình ứng dụng web. Sách được chia làm 3 phần: Design Patterns (Singleton, Factory, HOC, Render Props, v.v.), Rendering Patterns (SSG, SSR, ISG, Island Architecture, v.v.), và Performance Patterns (dynamic import, tree shaking, bundle splitting, list virtualization, v.v)

Kết

Tuần này chắc mọi người bận săn sales Black Friday rồi ha. Mình thấy cũng có nhiều sách/ khóa học liên quan tới lập trình frontend đang giảm giá lắm. Tranh thủ hốt và hốt xong nhớ đọc/ học đó 😄

Hẹn gặp lại các bạn trong Bản tin Ehkoo tuần tiếp theo 👋

Bản tin Ehkoo hàng tuần 💌

Đăng ký ngay để nhận những tin và bài viết mới nhất về lập trình frontend, cũng như các thủ thuật hay thư viện mới…

Powered by Buttondown

Gửi tặng cà phê ☕️

Nếu thấy bài viết này hữu ích, bạn có thể gửi tặng Ehkoo một ly cà phê theo link bên dưới 👇

Cám ơn bạn rất nhiều 🤗