Xu hướng công nghệ Web 2019 (edit)
HTML5: https://labs.septeni-technology.jp/none/nhung-dieu-can-biet-ve-html5/
HTML5: https://viblo.asia/p/tim-hieu-html5-d6BAMYgPvnjz
Các tag mới của HTML5:
- Video element
- Figure element
- Section element
- Nav element
- Header element
- Footer element
- SVG element
Các API của HTML5:
- Canvas
- Geolocation
- WebSocket
- Web Storage
- WebWorkers
Xu hướng công nghệ Web 2019
Thế giới phát triển web luôn thay đổi và đó là một thách thức để theo dõi chặt chẽ mọi thứ đang diễn ra.
Những frameworks nào vẫn sẽ có liên quan trong năm tới? Và ngôn ngữ lập trình nào phù hợp nhất cho ứng dụng web của bạn? Hãy thảo luận về sáu công nghệ thú vị để phát triển web.
Trong bài viết này, chúng tôi phân biệt giữa công nghệ front-end và back-end. Chúng tôi bắt đầu với ba frameworks phát triển front-end và sau đó thảo luận về ba frameworks phát triển back-end.
Front-end
1. React.js
Với React.js , các nhà phát triển có thể xây dựng các components có thể tái sử dụng, mỗi component có “state” (trạng thái riêng) của họ. Nếu một component phải được cập nhật trên trang (ví dụ: người dùng nhấp vào nút thích), chỉ một phần đó được sửa đổi bởi React (the thumb goes up) mà không phải refresh (làm mới) lại trang.
React sử dụng “virtual DOM” (DOM ảo) cho việc này. Đây là một đại diện của một giao diện người dùng được lưu trữ trong bộ nhớ và được đồng bộ hóa liên tục với “real” DOM (DOM thực tế). Không quan trọng bạn sử dụng trình duyệt nào, DOM ảo của React sẽ luôn hiển thị nhanh hơn vì nó hoạt động theo cách hiệu quả hơn.
Các công ty lớn như Airbnb và Netflix đã sử dụng React.js trong một số năm nay và chúng tôi thấy rằng công nghệ này đang được ngày càng nhiều công ty chấp nhận. Sự quan tâm đến React giữa các nhà phát triển là rất lớn và điều đó khiến nó trở thành một công nghệ sẽ chỉ trở nên phổ biến trong những năm tới.
Ngoài React còn có React Native , một khung cho phép phát triển ứng dụng di động cho cả iOS và Android chỉ với một source code (bộ mã nguồn). Framework này có cơ sở kỹ thuật tương tự như React và cùng với đó, việc các nhà phát triển web phát triển ứng dụng di động trở nên dễ dàng hơn nhiều ngoài các trang web và ứng dụng web và đây là một sự phát triển thú vị cho các công ty.
2. Vue.js
Do sự tương đồng với React và Angular về mặt kiến trúc, nó là một sự chuyển đổi dễ dàng từ các framework khác. Được yêu thích vì kích thước nhỏ (chỉ 20KB), tốc độ và tính linh hoạt, Vue.js mang lại hiệu năng tốt thậm chí còn tốt hơn so với các framework front-end khác.
Vue.js hiện vẫn có thị phần khá nhỏ so với React hay Angular. Do đó, việc tìm kiếm các nhà phát triển có kinh nghiệm về Vue.js có thể khó khăn hơn một chút. Dù Vue sẽ trở nên phổ biến như React hay Angular, chúng ta sẽ phải chờ xem, nhưng có được ý kiến tích cực từ cộng đồng nhà phát triển và sự phát triển trong việc sử dụng Vue, có vẻ như Vue.js sẽ tiếp tục phát triển tích cực .
3. jQuery
Nhưng còn jQuery thì sao? Chà, có vẻ như cộng đồng nhà phát triển đang dần rời khỏi thư viện JavaScript nổi tiếng nhất. Một trong những lý do có thể là jQuery không hoạt động tốt với các thư viện mới hơn như React. Các trình duyệt hiện đại ngày nay cũng hỗ trợ nhiều hàm giống như jQuery, trong nhiều trường hợp làm cho jQuery trở nên thừa. Vì lý do đó, chúng tôi thấy rằng việc sử dụng JavaScript thuần đang phổ biến hơn. Ví dụ, GitHub gần đây đã thông báo rằng nó đã thay thế tất cả jQuery bằng JavaScript thuần.
jQuery có thể không phải luôn là lựa chọn đầu tiên khi bắt đầu một dự án mới, với 300.000 lượt tải xuống mỗi ngày, nó vẫn đạt mức tăng trưởng 300% so với đầu năm 2017. Có lẽ còn đáng ngạc nhiên hơn: 90% trong số 500.000 trang web hàng đầu vẫn sử dụng jQuery! Điều này cho thấy rằng một thư viện không nhất thiết phải mới và mát mẻ để vẫn phù hợp. Sự lựa chọn sử dụng một thư viện cụ thể phụ thuộc hoàn toàn vào loại dự án mà bạn muốn sử dụng nó.
Những thay đổi trong phát triển web front-end đang diễn ra cực kỳ nhanh chóng. Có vẻ như không thể làm theo mọi thứ, nhưng bằng cách theo dõi và hiểu các frameworks quan trọng nhất, chúng ta có thể có được cái nhìn sâu sắc và đưa ra lựa chọn tốt hơn khi bắt đầu một dự án mới.
Mỗi frameworks/thư viện có một triết lý khác nhau và mỗi loại có một thế mạnh riêng, nhưng một điều chúng ta có thể chắc chắn là JavaScript là nền tảng của tất cả các phát triển này. Do đó, một nhóm phát triển có kiến thức và nhiều kinh nghiệm với JavaScript là điều cần thiết để xây dựng các trang web và ứng dụng web hiện đại.
Backend
4. Kotlin
Một ngôn ngữ lập trình đã trở nên rất phổ biến trong những năm gần đây là Kotlin . Đây là một thay thế hiện đại cho Java rất dễ học. Ngôn ngữ nguồn mở bắt đầu phát triển đặc biệt vào năm ngoái khi Google tuyên bố rằng đây là ngôn ngữ được hỗ trợ chính thức cho Android. Nhiều công ty bắt đầu viết ứng dụng Android của họ với Kotlin, chẳng hạn như Slack và Netflix. Rob Fletcher, một nhà phát triển phần mềm cao cấp tại Netflix, đã viết:
Kotlin không phải là một cuộc cách mạng, nhưng nó cảm thấy giống như một sự hợp nhất rất cẩn thận của một số tính năng tốt nhất của các ngôn ngữ khác.
Thật thú vị khi thấy, như một nghiên cứu của Pusher đã chỉ ra rằng, Kotlin được sử dụng chủ yếu bởi các nhà phát triển có kinh nghiệm trong những năm đầu tiên (kể từ năm 2011), nhưng kể từ khi Google công bố, đó là các nhà phát triển trẻ, đặc biệt là sinh viên, những người tác động đến sự phát triển lớn. Ngoài ra, không có gì đáng ngạc nhiên khi hầu hết các nhà phát triển hiện nay đều sử dụng Kotlin để xây dựng các ứng dụng Android, mặc dù nó cũng có thể được sử dụng để phát triển các ứng dụng back-end hoặc phía server-side (máy chủ).
5. Elixir and Phoenix
Phoenix , được xây dựng bằng ngôn ngữ lập trình chức năng Elixir , là một framework tương đối mới đang ngày càng được nói đến trong cộng đồng nhà phát triển. Một trong những lý do khiến các nhà phát triển quan tâm đến Phoenix là vì nó được biết đến với hiệu suất nhanh. Ví dụ: xử lý một yêu cầu JSON lớn, mất khoảng 1,5 giây trong Rails, chỉ tốn 400ms ở Phoenix.
Điều quan trọng là phải kiểm tra xem một công nghệ có phù hợp với loại dự án mà bạn muốn áp dụng nó hay không. Ví dụ, Elixir và Phoenix rất mạnh trong các ứng dụng thời gian thực, trong đó nhiều kết nối phải được xử lý đồng thời (ví dụ: ứng dụng trò chuyện). Nhưng đối với các ứng dụng đòi hỏi nhiều sức mạnh tính toán, Elixir có thể ít phù hợp hơn.
Số lượng nhà phát triển Elixir hiện khá hạn chế. Elixir và Phoenix tương đối mới và không có nhiều công ty hoạt động công khai với framework này. Điều này chắc chắn có thể thay đổi trong tương lai và đó là lý do tại sao bạn nên theo dõi chặt chẽ về Elixir và Phoenix.
6. GraphQL
Bạn có thể đã nghe nói về GraphQL , một ngôn ngữ truy vấn nguồn mở do Facebook phát triển và là một trong những cách hiện đại nhất để xây dựng API. Sự phổ biến của GraphQL đang tăng nhanh và các công ty lớn như Twitter, Shopify và Amazon đã bắt đầu làm việc với công nghệ này.
GraphQL cung cấp giải pháp cho một số vấn đề rất thực tế mà các nhà phát triển phải vật lộn rất nhiều vì nó giúp việc tải và xử lý dữ liệu dễ dàng hơn nhiều. Một trong những khác biệt quan trọng giữa API REST và GraphQL, đó là GraphQL cung cấp khả năng chỉ định chính xác dữ liệu nào bạn muốn lấy lại từ API. Nó đảm bảo rằng phần mềm gọi API nhận tất cả dữ liệu cần thiết trong một yêu cầu.
Điều này có ích khi ứng dụng chứa nhiều models và associations. Ví dụ, GraphQL giúp phát triển ứng dụng di động, chỉ tải dữ liệu liên quan và do đó giảm tải cho mạng di động. GraphQL đảm nhiệm rất nhiều thứ mà API REST có và điều đó mang lại lợi ích cho cả backend và frontend.
Kết luận
Là một nhà phát triển, điều quan trọng là luôn cập nhật với sự phát triển công nghệ hiện tại càng nhiều càng tốt. Bạn nên xem xét các cơ hội, nhưng cũng xem xét các rủi ro có thể có mà công nghệ mới gây ra. Thử nghiệm thường xuyên với các frameworks khác nhau giúp trải nghiệm những lợi ích tiềm năng, nhưng cũng có những hạn chế.
Công việc của một nhà phát triển bao gồm chủ yếu là giải quyết các thách thức kỹ thuật và đó là lý do tại sao nên làm việc với công nghệ đã được chứng minh là rất quan trọng, để làm việc hiệu quả và có một cộng đồng lớn đằng sau nó.