Ở vị trí client-side thì Javascript chiếm vị trí độc tôn. Hiện nay, không một ngôn ngữ nào có thể cạnh tranh với Javascript trong vai trò là một ngôn ngữ tương tác cho các trang web. Ta có thể kể ra những đặc điểm của Javascipt để thấy được các ưu điểm của nó.
Các đặc điểm của ngôn ngữ lập trình Javascript
1. Ngôn ngữ client-side
Về cú pháp, cũng giống như nhiều ngôn ngữ khác, Javascript thừa kế nhiều cú pháp từ ngôn ngữ C nhưng đã được thêm bớt nhiều để trở nên linh hoạt hơn. Các cấu trúc lập trình cơ bản thì hầu như không có sự thay đổi nào, ví dụ if, while, switch…; Một thay đổi lớn mà ít người để ý đến đó là cơ chế tự chèn dấu chấm phẩy (;), việc này giúp cho chúng ta có một cú pháp ít chặt chẽ hơn nhưng “dễ thở” hơn trong khi viết code.
Kiểu dữ liệu là một trong những khái niệm quan trọng trong các ngôn ngữ lập trình. Thường thì có hai cách để thể hiện kiểu dữ liệu, đó là gắn vào biến hay gắn vào giá trị. Trong Javascript (và phần lớn các ngôn ngữ kịch bản – scripting language – khác) thì kiểu dữ liệu được gắn với giá trị, có nghĩa là chúng ta có thể khai báo một biến, gán cho nó một giá trị kiểu chuỗi, rồi sau đó lại thay đổi để nó gắn nó với một giá trị số. Điều này thật dễ dàng.
Javascript là một ngôn ngữ lập trình hướng đối tượng (OOP) mềm dẻo. Bản thân mỗi đối tượng trong Javascript là một mảng, cộng thêm việc dựa trên cơ chế prototype làm cho quá trình tạo và sử dụng trong Javascript vô cùng đơn giản. Có hai cú pháp để sử dụng thuộc tính của một đối tượng: obj.name = ‘Bob’ và obj[‘name’] = ‘Bob’. Ngoài ra, ta có thể thêm, bớt, thay đổi các thuộc tính của đối tượng một cách tùy thích tại thời điểm thực thi. Các thuộc tính cũng có thể được duyệt qua bằng cách sử dụng vòng lặp for…in.
Hàm eval() trong Javascript giúp ta làm được một việc to lớn một cách rất dễ dàng. Nếu ta muốn thực thi một đoạn mã mà trước đó chưa hề có, chỉ cần cung cấp đoạn mã đó dưới dạng một chuỗi, chỉ là chuỗi, hàm eval() sẽ giúp ta chuyển chuỗi đó thành mã thực thi ngay tức khắc.
Ưu điểm cuối cùng chính là danh sách hàng triệu triệu nền tảng và thư viện Javascript được xây dựng và cung cấp hoàn toàn miễn phí (và cả có phí). Các nền tảng này, kèm thêm các phần mở rộng, đã tạo nên một hệ sinh thái mà ở đó tất cả chúng ta đều hưởng lợi.
2. Ngôn ngữ server-side
Mặc dù trước đây chúng ta đã có thể sử dụng Javascript làm ngôn ngữ lập trình cho server-side, nhưng nhìn chung thì nó vẫn không được biết đến nhiều lắm cho tới khi Nodejs ra đời. Mặc dù chỉ mới xuất hiện gần đây (năm 2009) nhưng thực sự Nodejs đã làm nên một cuộc cách mạng, làm cho Javascript trở nên mạnh mẽ, đa năng, hiệu quả hơn bao giờ hết. Với cơ chế bất đồng bộ vốn có của mình, Nodejs là lựa chọn số một cho các ứng dụng network thời gian thực với quy mô lớn. Có thể kể tên những “khách hàng” nổi tiếng của Nodejs: Facebook, Microsoft, Yahoo, Paypal,…
3. Ứng dụng desktop
Với việc Microsoft chính thức hỗ trợ việc phát triển các ứng dụng Metro từ Windows 8 thì Javascript đã có thêm một mảnh đất lớn để dụng võ. Với cách làm này, các nhà phát triển sẽ nhanh chóng tạo ra được các ứng dụng desktop “đẹp lung linh” mà không phải mất quá nhiều công sức. Tất nhiên, về phía người dùng, họ không thể nhận ra một sự khác biệt nào giữa một ứng dụng loại này so với một ứng dụng viết bằng C#, VB.NET hay một ngôn ngữ khác.
4. Ứng dụng mobile
Sử dụng Javascript để viết ứng dụng cho các thiết bị di động không còn là một điều gì đó quá mới mẻ. Tạo ra các ứng dụng dạng này cũng không quá khó khăn bởi vì hiện nay có từ vài chục (cho đến vài trăm) nền tảng giúp cho chúng ta làm được việc này dễ dàng, thử liệt kê ra một số: jQuery Mobile, PhoneGap, Sencha Touch,…
5. Game
Unity, Construct 2, ImpactJS… là những cái tên không còn quá xa lại đối với những nhà phát triển game. Sử dụng các nền tảng này sẽ giúp chúng ta nhanh chóng tạo được những game đa nền tảng với đồ họa “đẹp như mơ”. Đa nền tảng ở đây không chỉ là nói đến các nền tảng PC truyền thống, mà còn là các nền tảng di động nữa. Đặc biệt, đối với hệ điều hành di động FirefoxOS mới ra đời thì việc sử dụng Javascript (và các nền tảng hỗ trợ) là một điều bắt buộc khi bạn muốn phát triển ứng dụng hay game.
6. All-by-One
Nếu là lập trình viên, bạn sẽ không mất nhiều thời gian để làm quen với nhiều ngôn ngữ. Nếu là ông chủ, bạn sẽ không phải bỏ tiền để thuê nhiều đội phát triển cho những nền tảng khác nhau. Nếu là người dùng, tôi sẽ không quan tâm tới ngôn ngữ đằng sau, miễn sao ứng dụng phù hợp với tôi, đem lại cho tôi một trải nghiệm nhất quán không phụ thuộc nền tảng. Javascript chính là chàng Hiệp sĩ toàn năng cho mọi người.
Via tapchilaptrinh