CHƯƠNG 5 : HIỆN THỰC
5.1 Các công nghệ sử dụng
5.1.1 Front-end
HTML5: HTML (viết tắt của từ Hypertext Markup Language, hay là "Ngôn ngữ Đánh dấu Siêu văn bản") là một ngôn ngữ đánh dấu được thiết kế ra để tạo nên các trang web trên World Wide Web. Nó có thể được trợ giúp bởi các công nghệ như CSS và các ngơn ngữ kịch bản giống như JavaScript. Các trình duyệt web nhận tài liệu HTML từ một web server hoặặ̣c một kho lưu trữ cục bộ và render tài liệu đó thành các trang web đa phương tiện. HTML mơ tả cấu trúc của một trang web vê mặặ̣t ngữ nghĩa và các dấu hiệu ban đầu được bao gồm cho sự xuất hiện của tài liệu.
CSS3: CSS là chữ viết tắt của Cascading Style Sheets, nó là một ngơn ngữ được sử dụng để tìm và định dạng lại các phần tử được tạo ra bởi các ngơn ngữ đánh dấu (HTML) thì CSS sẽ giúp chúng ta có thể thêm style vào các phần tử HTML đó như đổi bố cục, màu sắc trang, đổi màu chữ, font chữ, thay đổi cấu trúc,…
Javascript: JavaScript là một ngơn ngữ lập trình website, được tích hợp và nhúng trong HTML giúp website sống động hơn. JavaScript cho phép kiểm soát các hành vi của trang web tốt hơn so với khi chỉ sử dụng mỗi HTML. Vậy ứng dụng thực tiễn của JavaScript là gì? Các slideshow, pop-up quảng cáo và tính năng autocomplete của Google là những ví dụ dễ thấy nhất cho bạn, chúng đêu được viết bằng JavaScript.
ReactJS: ReactJS là một thư viện Javascript dùng để xây dựng giao diện ngườờ̀i dùng. Được tạo ra bởi Facebook, React càng ngày càng được sử dụng rộng rãi, đặặ̣c biệt là 114 | P a g e
IE213 – Kỹ thuật phát triển hệ thống Web
trong các trang web đòờ̀i hỏi yêu cầu cao vê giao diện với các khả năng nổi bật như nhanh, dễ học, code ngắn và tái sử dụng tốt.
5.1.2 Back-end
NodeJS –ExpressJS: NodeJS là một nên tảng mã nguồn mở chạy trên server-side và Networking applications. Được viết bằng ngơn ngữ JavaScript và có thể chạy trên các hệ điêu hành như Mac OS X, Windows, Linux, FreeBSD, IBM i. Node JS cung cấp một kiến trúc event-driven architecture và là một non-blocking I/O API băng thông của một ứng dụng và có khả năng mở rộng. Node JS cho phép tạo ra những máy chủ web và các công cụ sử dụng ngôn ngữ JavaScript cùng module. Các module của NodeJS đã giúp việc viết code đơn giản hơn, giảm đi độ phức tạp cho việc viết ứng dụng trên server. Sử dụng Google V8 JavaScript engine để chạy code và có một lượng lớn module được viết bằng Javascript. Node JS chạy được trên Server Apache và IIS. Đặặ̣c biệt Node JS được chọn làm nên tảng phát triển của Microsoft, Yahoo, Walmart, Groupon, SAP, LinkedIn, Rakuten, Paypal, Voxer và GoDaddy. Áp dụng cho các sản phâm có lượng truy cập lớn, cần mở rộng nhanh, cần đổi mới công nghệ, hoặặ̣c tạo ra các dự án Startup nhanh nhất có thể. Cung cấp các thư viện cần thiết như Express, Mongoose, Body-parser, ejs, Multer, … Express giúp tương tác giữa Server và Client. Multer giúp upload và lưu file (Ảnh, video, …).
Socket.io: là một thư viện JavaScript hướng sự kiện cho các ứng dụng web thờờ̀i gian thực. Nó cho phép giao tiếp hai chiều giữa các máy khách và máy chủ web. Bao gồm hai phần: thư viện phía máy khách (socket.io-client) chạy trong trình duyệt và thư viện phía máy chủ (socket.io) cho Node.js.
115 | P a g e
5.1.3 Database
MongoDB: là một hệ quản trị cơ sở dữ liệu NoSQL mã nguồn mở đa nền tảng viết
bằng C++. Bản ghi trong MongoDB được lưu trữ dạng một dữ liệu văn bản (Document), là một cấu trúc dữ liệu bao gồm các cặặ̣p giá trị và trườờ̀ng tương tự như các đối tượng JSON. MongoDB được phát triển bởi MongoDB Inc. dưới dạng giấy phép Server Side Public License (SSPL).
Mongoose: là một framework JavaScript thườờ̀ng được sử dụng trong ứng dụng
Node.js với database là MongoDB.