🌞

Bộ kiến thức của google để được gọi là chuẩn Web Mobile Developer

Sửa bài viết này

Website layout and styling

Cần nắm

  • Chỉ sử dụng javascript để truy cập và thao tác trên DOM mà không dùng thư viện jQuery
  • Khai báo document type, viewport tag phù hợp
  • Responsive grid-base sử dụng CSS
  • Media queries để tạo break point trên các kích thước màn hình
  • Multimedia tag để hiển thị video và audio
  • Responsive image theo từng resolution và hướng màn hình (ngang hay đứng) trên bất kỳ thiết bị mobile nào
  • Cách bắt Sự kiện Touch và mouse

Nguồn tham khảo

Network

  • Request data sử dụng fetch()
  • Kiểm trả response status, sau đó parse dữ liệu này về thành data có thể sử dụng
  • Render dữ liệu lên trang
  • Cấu hình POST request với tham số methodbody
  • Sử dụng đúng cách cấu hình CORS ( cross-origin resource sharing protocol ) với fetch request, tùy thuộc vào header trả về từ server
  • Xử lý error bằng promise trong fetch request
  • Phân tích lỗi network sử dụng các công cụ debug

Nguồn tham khảo ( mình sẽ viết từ từ )

Accessibility

  • Cách đặt tab order để di chuyển bằng tab
  • Sử dụng skip navigation link để bypass
  • Tránh sử dụng nội dung ẩn làm cản trở việc di chuyển bằng tab
  • Sử dụng thẻ head phù hợp để dựng cấu trúc trang
  • Sử dụng các thẻ alt, label, aria-labelaria-labelledby
  • Áp dụng độ tương phản thích hợp tuân theo quy ước chung
  • Gởi thông báo khẩn cấp sử dụng aria-live
  • Sử dụng semantic markup để giữ nội dung chính và các element khác riêng biệt

Nguồn tham khảo

Progressive Web Apps

  • Tạo web app có thể sử dụng offline, cache các element bằng cách đưa request về service worker
  • Lưu những giá trị hiển thị mặc định như màu sắc, icon (nút thêm vào màn hình chính trên điện thoại) và splash screen trong web application manifest ( hoặc dùng meta tag )
  • Tách các tính năng quan trọng và UI để có thể load độc lập nội dung

Nguồn tham khảo ( mình sẽ viết từ từ )

Performance Optimization và Caching

  • Tránh khóa thread chính (web app chạy trên một single threat thôi) bằng web worker phù hợp
  • Tối ưu render bằng cách sử dụng hợp lý

    • Compressed và minified javascript, HTML, CSS
    • Inline CSS cho một số trang nhất định, load bất đồng bộ một số stylesheet khác nếu cần
    • Inline javascript trong lúc khởi chạy render những chổ cần thiết (hoặc đánh dấu deferred, async)
    • Đặt thứ tự load phù hợp, các phần nào bắt buộc thì cho load trước, những resource khác cho nằm sau cùng
    • Hạn chế tạo DOM nhiều tầng lớp
    • Sử dụng trình duyệt để phân tích lỗi trên mobile
  • Load lại file khi nó available
  • Lưu lại dữ liệu xuống client

    • Quản lý session
    • Cache asset nào tốn thời gian để load
    • Sử dụng IndexedDB để lưu dữ liệu động trong lúc chạy offline

Nguồn tham khảo ( mình sẽ viết từ từ )

  • Using Web Workers
  • Offline Web Applications by Google
  • Web Fundamentals - Performance
  • The Offline Cookbook
  • Cache - MDN
  • Storage
  • Local Storage And How To Use It On Websites
  • IndexedDB API
  • Get Started with Analyzing Network Performance in Chrome DevTools

Testing và Debugging

  • Viết unit test để kiểm tra function
  • Đặt breakpoint bên trong các function phức tạp để xác định chính xác luồn chạy có đúng không
  • Sử dụng console để log thông tin
  • Re-produce và fix bug dựa trên report của user

Nguồn tham khảo ( mình sẽ viết từ từ )

Khái niệm ES2015 và cú pháp

  • Cú pháp Promise để tạo hàm bất tuần tự và xử lý lỗi
  • Biến có thể sử dụng với block scope, function scope, và cách làm cho nó không thay đổi theo context sử dụng let, var, const
  • String literal
  • Arrow function
  • Default parameter cho function
  • for...of để loop và object và chạy một custom function
  • Map
  • Set

Nguồn tham khảo

Mobile Web Forms

  • Sử dụng thẻ label cho input
  • Input với giá trị type, name, autocomplete phù hợp
  • Sử dụng input có kích thước phù hợp cho việc touch
  • Suggestion cho user bằng datalist
  • Validate các input ở FrontEnd ( ví dụ pattern, maxlength, required)
  • Kiểm tra validate ngay lặp tức bằng pseudo-classes trên input
  • Thực hiện validate khi submit

Nguồn tham khảo

Tham khảo cách lấy chứng chỉ Web Mobile Specialist

Initializing...