chương 1 của luận văn đã trình bày khái quát những khái niệm về các công nghệ , nền tảng , giải pháp cũng như lý do được lựa chọn để giải quyết bài toán xây dựng ứng dụng kết nối thông tin xe hơi trên thiết bị di động này. SVTH: Hà Đức Hướng_E17CQCN01 10 CHƯƠNG 2 MỘT SỐ CƠ SỞ ĐỂ GIẢI QUYẾT BÀI TOÁN 1.Ngôn ngữ lập trình JavaScript 1.1 Giới thiệu ngôn ngữ lập trình JavaScript JavaScript là một ngôn ngữ lập trình kịch bản dựa vào đối tượng phát triển có sẵn hoặc tự định nghĩa. JavaScript được sử dụng rộng rãi trong các ứng dụng website. JavaScript được hỗ trợ hầu như trên tất cả các trình duyệt như Firefox , Chrome , … trên máy tính lẫn điện thoại.
Nhiệm vụ của JavaScript là xử lý những đối tượng HTML trên trình duyệt. Nó có thể can thiệp với các hành động như thêm / xoá / sửa các thuộc tính CSS và các thẻ HTML một cách dễ dàng. Hay nói cách khác , JavaScript là ngôn ngữ lập trình trên trình duyệt ở phía client. Tuy nhiên , hiện nay với sự xuất hiện của Node.js đã giúp JavaScript có thể làm việc được ở cả phía backend và chính điều đó đã làm cho JavaScript trở thành ngôn ngữ lập trình của tương lai.
Nhìn chung , ngôn ngữ lập trình JavaScript khi sử dụng được đánh giá dễ học , được phát triển bởi Netscape và sử dụng trong hơn 92% các website ngày nay. Việc sử dụng JavaScript có thể gắn trong một element (thành phần) trong website , hoặc có thể trong một event (sự kiện) của trang web tiện lợi và vô cùng hiệu quả. Chính việc có thể hoạt động nhanh , nhẹ và mượt mà , … nên ngôn ngữ lập trình này càng được tin tưởng và ứng dụng nhiều hơn cho nhu cầu của người dùng .2 Lịch sử ra đời JavaScript được Brendan Eich tạo ra tại Netscape Communications vào năm 1995. Netscape và Eich đã thiết kế JavaScript như một ngôn ngữ kịch bản để sử dụng với trình duyệt web hàng đầu của công ty Netscape Navigator.
Ban đầu được gọi là LiveScript , Netscape đã đổi tên thành JavaScript để họ có thể định vị nó như một người bạn đồng hành cho ngôn ngữ Java , một sản phẩm của đối tác của họ , Sun Microsystems. Tuy nhiên , ngoài một số điểm tương đồng về cú pháp bề ngoài , JavaScript không hề liên quan đến ngôn ngữ lập trình Java. Sau khi phát hành , ngày càng nhiều trình duyệt bắt đầu bổ sung hỗ trợ JavaScript. Tuy nhiên , trong phần lớn lịch sử của nó , JavaScript không thực sự được coi là một ngôn ngữ lập trình.
Các bản phát hành đầu tiên của JavaScript đã gặp phải các vấn đề SVTH: Hà Đức Hướng_E17CQCN01 11 về hiệu suất và bảo mật đáng chú ý , nhưng các nhà phát triển không có lựa chọn thay thế. Nếu họ muốn chạy các chương trình trong trình duyệt , họ phải sử dụng JavaScript. Năm 2008 , việc tạo ra Chrome V8 mã nguồn mở của Google , một công cụ JavaScript hiệu suất cao , đã tạo ra một bước ngoặt quan trọng cho JavaScript. Sự gia tăng sau đó của các công cụ JavaScript nhanh giúp các nhà phát triển có thể xây dựng các ứng dụng dựa trên trình duyệt phức tạp với hiệu suất cạnh tranh với các ứng dụng dành cho máy tính để bàn và thiết bị di động.
Ngay sau đó , Ryan Dahl phát hành một mã nguồn mở , môi trường đa nền tảng gọi là Node. Nó cung cấp một cách chạy mã JavaScript từ bên ngoài trình duyệt. Nó giải phóng JavaScript khỏi giới hạn của trình duyệt và trực tiếp dẫn đến sự phổ biến hiện tại của JavaScript. Ngày nay , JavaScript có thể được sử dụng để viết tất cả các loại ứng dụng , bao gồm ứng dụng trình duyệt , máy chủ , thiết bị di động và máy tính để bàn.
Hầu hết các công ty trực tuyến lớn hiện nay , bao gồm Facebook , Twitter , Netflix và Google , đều sử dụng JavaScript trong các sản phẩm của họ. JavaScript được phát triển cho Netscape 2 và trở thành tiêu chuẩn ECMA-262 vào năm 1997. Sau khi Netscape bàn giao JavaScript cho ECMA , tổ chức Mozilla tiếp tục phát triển JavaScript cho trình duyệt Firefox. Internet Explorer (IE4) là trình duyệt đầu tiên hỗ trợ ECMA-262 Edition 1 (ES1) Năm ECMA Trình duyệt 1995 JavaScript được phát minh bởi Brendan Eich 1996 Netscape 2 được phát hành với JavaScript 1.0 1997 JavaScript trở thành tiêu chuẩn ECMA (ECMA-262) 1997 ES1 ECMAScript 1 được phát hành 1997 ES1 IE 4 là trình duyệt đầu tiên hỗ trợ ES1 1998 ES2 ECMAScript 2 đã được phát hành 1998 Netscape 42 được phát hành với JavaScript 1.3 1999 ES2 IE 5 là trình duyệt đầu tiên hỗ trợ ES2 1999 ES3 ECMAScript 3 đã được phát hành 2000 ES3 IE 5.5 là trình duyệt đầu tiên hỗ trợ ES3 2000 Netscape 62 được phát hành với JavaScript 1.5 SVTH: Hà Đức Hướng_E17CQCN01 12 2000 Firefox 1 được phát hành với JavaScript 1.5 2008 ES4 ECMAScript 4 đã bị bỏ qua 2009 ES5 ECMAScript 5 đã được phát hành 2011 ES5 IE 9 là trình duyệt đầu tiên hỗ trợ ES5 2011 ES5 Firefox 4 được phát hành với JavaScript 1.5 2012 ES5 Hỗ trợ đầy đủ cho ES5 trong Safari 6 2012 ES5 Hỗ trợ đầy đủ cho ES5 trong IE 10 2012 ES5 Hỗ trợ đầy đủ cho ES5 trong Chrome 23 2013 ES5 Hỗ trợ đầy đủ cho ES5 trong Opera 15 2014 ES5 Hỗ trợ đầy đủ cho ES5 trong tất cả các trình duyệt 2015 ES6 ECMAScript 6 đã được phát hành 2016 ES6 Hỗ trợ đầy đủ cho ES6 trong Chrome 51 2016 ES6 Hỗ trợ đầy đủ cho ES6 trong Opera 38 2016 ES6 Hỗ trợ đầy đủ cho ES6 trong Edge 14 2016 ES6 Hỗ trợ đầy đủ cho ES6 trong Safari 10 2018 ES6 Hỗ trợ đầy đủ cho ES6 trong tất cả các trình duyệt Bảng 1.1 Lịch sử phát triển của JavaScript 1.3 Ưu điểm , nhược điểm của ngôn ngữ lập trình JavaScript 1.1 Ưu điểm Ngôn ngữ lập trình JavaScript mang lại rất nhiều ưu điểm nổi bật , dưới đây là một số những ưu điểm đó : ● Sử dụng JavaScript được thực hiện từ phía khách hàng Điều này tức là các mã được tiến hành thực hiện thông qua bộ vi xử lý của chính người dùng , thay vì máy chủ trên web.
Chính đặc điểm này giúp việc tiết kiệm băng thông , đồng thời giảm những căng thẳng , hoạt động quá nhiều trên máy chủ web dễ dàng hơn. ● Là ngôn ngữ lập trình dễ dàng sử dụng SVTH: Hà Đức Hướng_E17CQCN01 13 Đơn giản , dễ dàng tìm hiểu và sử dụng là những đặc điểm nổi bật của ngôn ngữ lập trình này. Với những cú pháp khá tương đồng với tiếng Anh thì việc sử dụng JavaScript trở nên dễ dàng , dễ tiếp cận hơn rất nhiều. Thông qua mô hình DOM được sử dụng , cung cấp tới nhiều tính năng hữu ích , được viết sẵn đem lại khả năng đáp ứng tốt cho những nhu cầu , những đòi hỏi khác nhau từ phía người dùng.
Với nhiều tính năng hữu ích mà ngôn ngữ lập trình JavaScript mang lại thì việc có thể phát triển kịch bản nhằm giải quyết yêu cầu , mục đích nào đó trở nên dễ dàng hơn. Những mục đích tuỳ chỉnh của con người được đáp ứng hiệu quả với sự hỗ trợ của JavaScript. ● Đánh giá cao với độ nhanh chóng với người dùng cuối Việc sử dụng ngôn ngữ lập trình JavaScript có khả năng đảm bảo code khi được thực hiện trên thiết bị máy tính của người dùng thì quá trình xử lý , lẫn kết quả đều hoàn thành gần như ngay lập tức. Thời gian cụ thể phụ thuộc vào từng nhiệm vụ cụ thể mất thời gian nhất định , song thường nó rất nhanh có thể giúp vấn đề được giải quyết.
Với đặc trưng là việc không cần tiến hành xử lý trong máy chủ web của một trang web , đồng thời gửi lại cho người dùng gây ra những hao tốn băng thông của máy chủ. Bởi vậy quá trình diễn ra nhanh chóng , đáp ứng tốt nhu cầu. ● Sự đa dạng trên nhiều trình duyệt Một ưu điểm nổi bật giúp JavaScript ngày càng được tin dùng , ứng dụng phong phú là khả năng sử dụng thông qua nhiều trình duyệt khác nhau. Từ các trình duyệt trên máy tính như Chrome , tới Firefox ,… hay những trình duyệt trên thiết bị di động ,.
đều có thể sử dụng được đầy đủ và hiệu quả. Chính vì sự thích hợp với nhiều trình duyệt , nhiều nền tảng khác nhau giúp nó được tin dùng nhiều hơn để đáp ứng tốt cho đòi hỏi của con người. ● Sở hữu giao diện thân thận , nhiều tính năng Nếu so sánh với nhiều ngôn ngữ lập trình khác thì việc sử dụng JavaScript mang tới ưu điểm ở giao diện thân thiện , có thể phù hợp với mọi đối tượng người dùng. Đem tới tính tương tác cao giúp quá trình ứng dụng của mỗi người có được kết quả tốt đẹp.
Cùng với nhiều tính năng mà ngôn ngữ này mang tới sẽ giúp tạo ra được các website có được hiệu quả sử dụng lý tưởng Có thể kể đến như việc tiến hành thêm silder , hay slideshow , thực hiện hiệu ứng cuộn trang khi chuột di tới , tính năng kéo thả ,. đều được cung cấp đầy đủ. Từ đó giúp việc sử dụng ngôn ngữ này trong lập trình mang lại lợi ích lớn , thiết thực. SVTH: Hà Đức Hướng_E17CQCN01 14 1.2 Nhược điểm Bên cạnh rất nhiều những ưu điểm được liệt kê ở trên , JavaScript vẫn còn tồn tại song song những hạn chế.
Dưới đây là những hạn chế mà ngôn ngữ lập trình JavaScript phải đối mặt : ● Là ngôn ngữ lập trình dễ bị khai thác : Việc dễ dàng bị khai thác , với nhiều đối tượng người dùng khác nhau vô tình khiến việc bảo mật cho ngôn ngữ lập trình này không được đánh giá cao. ● Một hạn chế của ngôn ngữ lập trình JavaScript chính là việc có thể sử dụng để thực thi mã độc trên máy tính của người dùng. Tình trạng này vô tình gây ra những thiệt hại , những ảnh hưởng không hề nhỏ tới công việc đang thực hiện. ● Trong một số trường hợp , trong một vài trình duyệt cụ thể việc sử dụng ngôn ngữ lập trình JavaScript không thể thực hiện được.
Nó gây ra ảnh hưởng tới việc ứng dụng , đáp ứng cho nhu cầu của từng người .