Web component là tập hợp các Web APIs cho phép chúng ta tạo ra một thẻ HTML riêng, mang các đặc tính riêng, đóng gói, có thể tái sử dụng. Web component được xây dựng trên chuẩn web hiện tại, vì thế đang (và sẽ) có thể hoạt động trên tất cả các trình duyệt, có thể tương thích với tất cả các library và framework Javascript có thể làm việc với HTML.

Grunt và Gulp, 2 task runner rất phổ biến, chắc đã quá quen thuộc và trở thành một phần với ai làm việc nhiều với Javascript rồi. Tuy nhiên bạn đã bao giờ gặp khó khăn với chúng và nghĩ đến việc thoát khỏi sự phụ thuộc vào chúng và quay trở lại dùng npm package nguyên thủy chưa?

Khi sử dụng một web page, rất nhiều khi người dùng sẽ cần copy một nội dung có sẵn. Những nội dung này nhiều khi nhà phát triển có thể dễ dàng đoán được và có thể tối giản thao tác copy cho người dùng bằng một click chuột.

Tutorial này sử dụng cú pháp pipeable operator, tương thích với HttpClientModule (Angular v4.3+). Với HttpModule, các bạn có thể sử dụng cú pháp chain truyền thống với logic và các operators tương tự.

Ở phần trước của series Progressive Web App (PWA), chúng ta đã đi qua vấn đề tồn đọng lớn của Single Page App (SPA) - không có khả năng hoạt động offline, và cách giải quyết của PWA - cũng là ưu điểm lớn nhất của PWA - Offline-First strategy. Trong phần tiếp theo này, chúng ta sẽ tìm hiểu sâu hơn về Service Worker - thứ đem lại sức mạnh Offline-first cho PWA.

Trong series này, chúng ta sẽ cùng tìm hiểu một công nghệ không quá xa lạ nhưng rất hữu ích trong Web Development - Progressive Web App.

Trong phần 1, mình đã giới thiệu một cách tổng quan về các loại Web Workers và ứng dụng của nó. Trong phần tiếp theo này, mình sẽ giới thiệu kĩ hơn về Dedicated Worker (DW) thông qua ví dụ cụ thể.

Javascript là một ngôn ngữ single-threaded. Trên web browser, mỗi cửa sổ hoặc mỗi tab chỉ có 1 luồng xử lý duy nhất. Trở ngại của single-thread trên browser đó là khi code đang được thực thi, bạn sẽ ko thể làm gì khác, UI của bạn sẽ bị khoá cứng.

Không giống như các ngôn ngữ bậc thấp, lập trình viên phải chủ động cấp phát, giải phóng bộ nhớ, Javascript sẽ tự tính toán bộ nhớ cần thiết và tự thu hồi bộ nhớ khi biến đó không được sử dụng nữa.

Nếu bạn sử dụng javascript thường xuyên, chắc bạn ko ngạc nhiên gì với đoạn code setTimeout với thời gian bằng 0. Tuy nhiên bạn đã bao giờ tự hỏi, thời gian bằng 0 mà output vẫn in sau đoạn code khác chưa?