của Evaristo Caraballo

Nếu bạn là một lập trình viên JavaScript vẫn chưa kịp lập danh sách các giải pháp chính xác cho năm 2019, hãy để tôi giúp bạn một tay: Hãy bắt đầu tìm hiểu cách tham gia vào Thực tế tăng cường (AR).
Sự kết hợp Tăng cường/Hỗn hợp/Thực tế ảo (AR/MR/VR) đã có mức tăng trưởng điên cuồng kể từ năm 2016, từ giá trị thị trường cận biên hơn 6 tỷ đô la một chút đến giá trị có thể đạt doanh số 210 tỷ đô la (bao gồm cả phần cứng) vào năm 2022 . Trên tất cả, Thực tế tăng cường là thứ đang trải qua sự tăng trưởng ổn định.
Lúc đầu, một nhà phát triển JavaScript (web) muốn tham gia vào con thuyền AR có thể cảm thấy nản lòng khi tìm thấy các kỹ năng cần thiết thông thường; và sau đó có người hỏi Machine Learning hoặc Internet of Things. Tuy nhiên, nếu bạn chủ yếu là một nhà phát triển JavaScript, hãy coi mình là người may mắn: ngôn ngữ này thường xuyên được đề cập là ngôn ngữ bạn nên biết để tham gia vào lĩnh vực này. Nguyên nhân? Ngay lập tức rất nhiều sự phát triển AR trên web. Và đây là nơi JavaScript ngự trị.

Công việc tăng cường cho người hâm mộ JavaScript – Thật sao?
Có lẽ không quá nhanh. Có nhiều ví dụ về việc AR/MR/VR tự tỏa sáng, đặc biệt là ở các thị trường ngách, nhưng ngành vẫn chưa hoàn toàn tìm ra giá trị đầy đủ của công nghệ đối với người tiêu dùng phổ thông. Khi giải quyết được vấn đề đó, chắc chắn ngành công nghiệp sẽ tạo ra nhiều sản phẩm AR/MR/VR hơn, điều này sẽ tạo ra nhiều việc làm hơn.
Đối với một số nhà phân tích, AR dự kiến sẽ có tác động lan tỏa nhất, một phần vì nó không yêu cầu các thiết bị và điều kiện cụ thể để triển khai như VR.
AR có tiện ích cho hầu hết mọi thứ, bao phủ thông tin hữu ích và phù hợp về thế giới xung quanh bạn. AR có thể phổ biến theo cách mà VR không thể.
– David McQueen -Phân tích chiến lược- từ một cuộc phỏng vấn trên Twice
Nó phụ thuộc vào ngành công nghiệp để tìm ra cách biến AR trở thành một công nghệ hàng ngày hơn. Theo một số công ty, đặc biệt là trong lĩnh vực điện thoại di động, việc khai thác tốt hơn tiềm năng AR sẽ tuân theo một quy tắc nổi tiếng: SỰ ĐƠN GIẢN.
Mặc dù Unity đã trở thành con đường mặc định để xây dựng các ứng dụng AR, nhưng số lượng ngày càng tăng chỉ cần một chút AR.
– từ một bài báo của Benjamin Devine, Homestory AR
Trong nhiều trường hợp, việc cung cấp nguồn lực cho các công cụ AR hàng đầu có thể là quá mức cần thiết. Thay vào đó, một loạt các tính năng hướng đến trải nghiệm người dùng tốt trên một số nội dung 2D/3D có thể là quá đủ để tạo ra các sản phẩm nổi bật. Điều mà một nhà phát triển JavaScript thường làm.
Sau đó, có khả năng bất kỳ nhà phát triển JavaScript nào sẽ nhúng các tính năng AR/VR tiêu chuẩn (không) như một phần mở rộng cho các nhiệm vụ truyền thống của họ trong tương lai. Và nếu được yêu cầu, JavaScript đủ mạnh cho các tác vụ phức tạp hơn. Bầu trời là giới hạn.
Trở thành JavaScript-Augmented
Trước khi bắt đầu, tôi khuyên bạn nên xem xét một số nền tảng và tiêu chuẩn AR. Những hạn chế kỹ thuật tương tự ảnh hưởng đến ngành cũng được phản ánh trong thế giới AR.
Ví dụ: có một số nền tảng, một nền tảng dành cho mỗi Big Tech (Google = ARCode, Apple = ARKit, MS = ChakraCore, Facebook = AR Studio, React 360, Mozilla = aframe).
Sau khi xem qua các tùy chọn, việc bắt đầu hoàn toàn các dự án Thực tế tăng cường do JavaScript tạo ra tương đối dễ dàng. Bạn có thể bắt đầu bằng cách sử dụng bất kỳ khung phát triển web/ứng dụng nào như Cordova, Ionic, React Native hoặc Vue Native để nhúng khung AR mà bạn chọn — và triển khai nội dung 3D trên thế giới thực.
Nếu điều bạn muốn là triển khai trên web bằng cách sử dụng AR chủ yếu dựa trên điểm đánh dấu, bạn có thể sử dụng các kho lưu trữ GitHub như AR.js (miễn phí), argon.js (miễn phí nhưng có giới hạn) hoặc awe.js (PaaS trả phí nhưng với một GitHub cũ kho lưu trữ vẫn có sẵn). Có một số công cụ được tùy chỉnh khó hơn đối với người mới, nhiều công cụ trong số đó tập trung vào những thứ như nhận dạng khuôn mặt/đầu (chẳng hạn như tracking.js và headtrackr).
Hoặc bạn có thể tăng khả năng dự án của mình nếu bạn có thể chuyển các SDK có sẵn do các công ty liên quan đến AR tạo ra. Có nhiều API cũng hiển thị dưới dạng AR trên trình duyệt. Ví dụ, Mapbox đi theo con đường đó và nó được phát triển trên JavaScript.
Tôi sẽ đề nghị bạn giữ cho nó đơn giản nhưng tương tác.
Tuy nhiên, nếu tham vọng của bạn cũng là thành thạo thiết kế và hoạt hình trong JavaScript, bạn nhất định phải học ít nhất một gói Javascript 3D và THREE.js là gói phổ biến nhất. Tuy nhiên, hãy đợi cho đến khi bạn có được nền tảng tốt về JavaScript và OpenGl cũng như hình học, lượng giác, đại số tuyến tính hoặc vật lý. Và đừng mong đợi thêm sự trợ giúp từ GUI 3D JS hiện có; đặc biệt, THREE.js không có. Thách thức nhưng thú vị!
Ví dụ tiền thưởng
Tôi muốn chuẩn bị một bản trình diễn nhanh chỉ để khám phá công nghệ, vì vậy tôi đã lấy một CodePen đẹp mắt và sửa đổi nó để phù hợp với hoạt ảnh AR kết xuất trên web dựa trên điểm đánh dấu được chuyển trong một bản sao tác phẩm tuyệt vời của Stemkoski với AR.js.
Để bạn xem ví dụ bạn cần một thiết bị di động có camera và internet (điện thoại hoặc máy tính bảng) và bản in của điểm đánh dấu hoặc một thiết bị khác để hiển thị nó trên màn hình.
Sẳn sàng? Bây giờ hãy mở liên kết này bằng trình duyệt trong thiết bị di động của bạn:
https://evaristoc.github.io/ARexample/
Cho phép sử dụng máy ảnh của bạn và trỏ máy ảnh đến một điểm đánh dấu như dưới đâyđược in hoặc ở một màn hình khác.
GHI CHÚ: hoạt động trên Android và Chrome — nó có thể không hoạt động với các thiết bị và trình duyệt khác ?.

Chúc mừng năm mới!
Tôi hy vọng bạn sẽ thấy công nghệ này hấp dẫn như tôi. Nếu vậy, đừng ở một mình: hãy liên hệ với chúng tôi tại diễn đàn freeCodeCamp và chia sẻ câu hỏi cũng như ý tưởng của bạn.
Và nếu bạn thích bài viết này, đừng quên cho nó một ? và để chia sẻ nó trên phương tiện truyền thông xã hội.
Cảm ơn bạn đã đọc, hãy tận hưởng AR và Mã hóa vui vẻ!!