Tại sao Google Dart là kẻ hủy diệt JavaScript
Diễn đàn - Ngày đăng : 07:12, 04/11/2015
Tháng trước Google đã phát hành một ngôn ngữ lập trình Web được gọi là Dart nhằm giải quyết những thiếu sót của JavaScript, và một số người thậm chí còn gọi nó là kỷ hủy diệt JavaScript. Điều tiết các chương trình lớn và phát triển theo nhóm, Dart là đối tượng điều hướng và sử dụng một máy ảo. InfoWorld gần đây đã phỏng vấn Lars Bak, trưởng kỹ sư phần mềm của Dart, để hiểu rõ hơn ý định của Google đối với ngôn ngữ lập trình mới.
InfoWorld: Xin vui lòng giải thích mục đích đằng sau Google Dart, và có phải nó là một kẻ hủy diệt JavaScript như cách nó được gọi?
Bak: Tôi nghĩ rằng đó là một cách nói cường điệu. Những điều chúng tôi đang cố gắng làm ở đây là đảm bảo rằng các nhà phát triển có một sự thay thế. Đặc biệt, chúng tôi đang cố gắng để nhắm mục tiêu vào các nhà phát triển ứng dụng Dart đang, những người đang xây dựng các ứng dụng lớn. JavaScript là một ngôn ngữ tuyệt vời cho các ứng dụng Web đơn giản, nhưng khi bạn phát triển các ứng dụng thì nó sẽ trở nên khó khăn hơn để giữ cho cấu trúc của chương trình trong JavaScript. Về cơ bản Dart được thiết kế là một ngôn ngữ lập trình sẽ phù hợp với các ứng dụng lớn, và nó sẽ hỗ trợ phát triển chương trình.
InfoWorld: Những điều ông nói có nghĩa rằng Dart là một ngôn ngữ cho lập trình web có cấu trúc?
Bak: Đúng vậy. Bạn có thể viết các ứng dụng nhỏ trong Dart, nhưng vì các ứng dụng có cùng tỷ lệ với nhau nên bạn có thể bắt đầu bổ sung thêm các loại chương trình của bạn, và đó thực sự là mục đích của một lập trình viên. Vì vậy, nếu bạn thực hiện một mô-đun, bạn có thể biết chính xác phải làm gì để sử dụng các mô-đun dựa trên các loại mà bạn đã xác định trong giao diện và bạn cũng có thể kiểm tra nó trong Dart. Nếu bạn thực sự có những nhóm làm việc trên cùng một nguồn thì điều này thực sự có ý nghĩa rất lớn.
InfoWorld: Lợi ích của Dart chạy trên cả máy khách và máy chủ là gì?
Bak: Nó cũng giống như các ngôn ngữ khác có thể chạy trên cả máy khách và máy chủ. Bạn phải nhớ rằng nếu bạn đang viết các ứng dụng Web, thì các máy khách rất khác nhau. Bạn có một trình duyệt Web trên một máy tính để bàn, và bạn có thể đặt rất nhiều logic về phía máy khách. Nhưng nếu bạn chạy một điện thoại di động (cũng có một trình duyệt Web) thì bạn thường muốn off-load một số mà mã ở phía máy chủ. Nếu ứng dụng trên cả máy chủ và máy khách được viết bởi cùng một ngôn ngữ thì bạn có tùy chọn quyết định nơi mà các mã nên thực hiện.
InfoWorld: Tôi hiểu rằng Dart thực sự tuân theo mã JavaScript. Vậy thì tại sao không chỉ sử dụng JavaScript thôi?
Bak: Vâng, bởi vì chúng tôi có một điểm khác biệt. Chúng tôi có một máy ảo Dart được phát triển cho ngôn ngữ cung cấp hiệu suất nhanh hơn và khởi động tốt hơn. Theo ý kiến của tôi, một trong những vấn đề của JavaScript là nếu bạn có một ứng dụng lớn thì bạn phải mất một thời gian khá lâu để khởi động ứng dụng web sử dụng JavaScript. Nếu bạn sử dụng một máy ảo Dart, chúng tôi có một cơ sở hạ tầng được gọi là “snapshotting” và nó sẽ cho phép một ứng dụng khởi động nhanh hơn gấp 10 lần. Những gì chúng ta có thể thấy là các ứng dụng web ngày càng lớn hơn, và khi chúng phát triển lớn hơn thì hiệu suất khởi động là rất quan trọng.
InfoWorld: Các lập trình viên sẽ gặp khó khăn như thế nào khi tìm hiểu ngôn ngữ Dart?
Bak: Chúng tôi đã rất thận trọng khi thiết kế ngôn ngữ để nếu bạn biết JavaScript và nếu bạn biết một ngôn ngữ dựa trên lớp như Java hoặc C#, thì bạn sẽ có thể được học được trong vòng một ngày.
InfoWorld: Ông có thực sự nghĩ rằng Dart có thể thay thế hoặc bổ sung JavaScript? Và nó sẽ có tác động như thế nào?
Bak: Tôi nghĩ rằng nó sẽ có tác động tuyệt vời nếu bạn viết các ứng dụng lớn bởi vì bạn có được nhiều cấu trúc hơn. Thật khó để dự đoán nó sẽ có tác động như thế nào bởi vì cho dù các ngôn ngữ lập trình được chấp nhận thì cũng có có rất nhiều đánh giá khác nhau về chúng. Chúng tôi phải đảm bảo rằng chúng tôi có thể hiển thị những gì chúng tôi có, và chúng tôi đã triển khai tốt để mọi người có thể thử nó ra và nếu họ thích nó, tôi khá chắc chắn nó sẽ được thông qua.
InfoWorld: Tình trạng của Dart vào thời điểm này là gì?
Bak: Đó là một bản xem trước công nghệ. Chúng tôi muốn phát hành ngôn ngữ ra từ rất sớm. Có một dự thảo về đặc điểm kỹ thuật của ngôn ngữ, và một bộ chuyển đổi từ Dart sang JavaScript, và cũng có sẵn một máy ảo Dart.
InfoWorld: Nền tảng máy khách hỗ trợ cho Dart là gì?
Bak: Nếu bạn chuyển đổi sang JavaScript, nó sẽ chạy trêntất cả các trình duyệt hiện đại. Tôi nghĩ rằng nếu bạn đang nói về các máy ảo Dart thì giờ đây nó có thể chạy trên nhiều hệ điều hành.
InfoWorld: Dart sẽ được áp dụng cho lập trình Android?
Bak: Hiện tại thì không. Giờ đây nó chỉ có trong kho lưu trữ mã nguồn mở, và nó không được tích hợp vào Android tại thời điểm này.
InfoWorld: Vậy thì, nó có thể là trong tương lai?
Bak: Chúng tôi hy vọng rằng sẽ có nhiều nền tảng tận dụng công nghệ cơ bản của chúng tôi và tích hợp nó.
Minh Phượng