Web 2.0 Vietnam Logo

Google Chrome - Công Nghệ và Hạn Chế

Công Nghệ, Google September 4th, 2008


Không phải ngày nào Google cũng cho ra đời một trình duyệt mới và đó là lý do Google Chrome có mặt trên tất cả các trang web và blog công nghệ. Người ta đã mổ xẻ trình duyệt mới này về mọi mặt từ giao diện, cách vận hành, nền tảng và cỗ máy JavaScript tích hợp bên trong nó.

Không ai quá ngạc nhiên khi Google ra mắt Chrome, mọi người chỉ hơi ngỡ ngàng về mức độ hoàn thiện của một sản phẩm được coi là beta, nhưng đó chính là truyền thống của Google: “Make it cool”. Nó trái với phong cách của Microsoft là luôn tạo ra các sản phẩm vừa đủ dùng, thực dụng và không hướng tới những nét đặc sắc.

Ngay khi Chrome được giới thiệu, trọng tâm chú ý được hướng về trình duyệt “bạn bè” của Google là Mozilla Firefox và dường như họ đã chuẩn bị cho bất ngờ này. John Lilly, Giám đốc của Mozilla, phát biểu ngay những lời có cánh:

Chuyện Google tham gia (vào cuộc chiến trình duyệt) không phải là điều gì ngạc nhiên. Công việc kinh doanh của họ là web và họ có cái nhìn rõ ràng về chuyện web phải như thế nào và họ cũng có những người tài giỏi để làm mọi chuyện tốt đẹp hơn…

Chrome sẽ là trình duyệt được tối ưu hóa cho những thứ họ cho là quan trọng và sẽ là điều thú vị khi chứng kiến sự phát triển của nó…

Internet Explorer, trình duyệt được coi sẽ là kẻ bị mất mát nhiều nhất nếu Chrome thành công, vừa mới công bố phiên bản số 8 (beta 2) và ngay lập tức những tính năng hay nhất của nó (đã và sẽ thực hiện) bị Chrome làm lu mờ như tính đảm bảo thông tin cá nhân (privacy) hay khả năng chạy các trang web trong những luồng xử lý riêng rẽ. Tệ hơn, các phép thử về tốc độ hiển thị, JavaScript đều cho thấy Chrome là người đang có nhiều lợi thế và công nghệ nền tảng web Microsoft theo đuổi có vẻ đang lạc hậu ngay khi vừa ra đời.

Có thể nói Chrome được “lắp ráp” từ hai cỗ máy (engine) là WebKit và V8. Trong khi WebKit được nhiều người biết đến vì đây là nền tảng của trình duyệt Safari thế hệ mới, nổi tiếng về tốc độ hiển thị (rendering speed), thì V8 là một cái tên hoàn toàn mới. Đây là cỗ máy JavaScript được phát triển riêng mang nhãn hiệu Google 100%. Vậy nó có gì khác? Đây là vài lời giới thiệu từ trang web của dự án:

  • V8 là cỗ máy JavaScript mã nguồn mở của Google.
  • V8 được viết bằng C++ và được dùng trong Google Chrome, trình duyệt mã mở của Google.
  • V8 thực hiện theo ECMA-262, phiên bản 3, và có thể chạy được trên các thiết bị dùng HĐH Windows XP, Vista, Mac OS X 10.5 (Leopard), và Linux trên chip xử lý IA-32 hay ARM.
  • V8 có thể chạy độc lập hay nhúng vào bất kỳ ứng dụng C++ nào.

Hầu hết các thử nghiệm theo hướng dẫn của Google và độc lập đều cho thấy V8 vượt trội trong các tác vụ thuần JavaScript (mặc dù các thử nghiệm về tìm kiếm DOM không cho kết quả khả quan như mong đợi). Hiện thời có lẽ chỉ có TraceMonkey, JIT JavaScript engine mà Mozilla mới đưa vào thử nghiệm trong phiên bản Firefox 3.1, là có thể cạnh tranh với V8 về tốc độ trong một số thử nghiệm.

Vậy vì sao Google làm Chrome mà không tiếp tục “đẩy” Firefox như vẫn làm (mặc dù hợp đồng hợp tác với Mozilla còn kéo dài tới năm 2011)? Google đã không hề úp mở về chiến lược lấy các ứng dụng web làm trung tâm cho điện toán tương lai và Chrome sẽ giúp họ thực hiện tốt hơn điều này khi các ứng dụng Web 2.0 ngày càng đòi hỏi nhiều tài nguyên hệ thống làm cho trình duyệt luôn có nguy cơ bị quá tải. Nhưng ở mặt khác, Chrome là sự chuẩn bị cho hệ điều hành Adroid dùng trong các thiết bị di động của Google. Chúng ta hẳn còn nhớ rằng Apple đã tung ra Safari cho Windows ngay sau khi iPhone ra mắt chủ yếu nhắm tới các nhà phát triển web hơn là người dùng thông thường (có ai đang dùng Safari làm trình duyệt chính trên Windows?).

Google Chrome là một mũi tên cho nhiều mục đích và mục đích đầu tiên là tạo nên tiếng vang (buzz) lớn thì đã đạt được. Tuy nhiên không phải mọi thứ Chrome đều làm tốt trong phiên bản khiêm tốn 0.2 này, từ những “chuyện nhỏ” như không tự động xác định RSS đến “chuyện lớn” hơn như chưa có phiên bản cho Mac, Linux hay chưa cho phép tạo các plugins/extensions… Những chuyện lớn-nhỏ này sẽ giữ chân những người dùng như bản thân tôi lại với Firefox vì hàng chục các plugins tôi không thể “sống sót” nếu thiếu trong trình duyệt của mình.

Google App Engine – Hosting kiểu… Google

Công Nghệ, Google April 9th, 2008


Tin nóng từ hội nghị các nhà phát triển Campfire One tối qua là sự kiện Google cho sử dụng hạ tầng của mình để host các ứng dụng web. “Google App Engine” (GAE) là một nền tảng hosting bao gồm web server Python, cơ sở dữ liệu BigTable and kho lưu trữ file GFS. Đây là những công nghệ chủ chốt của Google đang dùng để lưu trữ và truy cập dữ liệu cho các ứng dụng khổng lồ của công ty bao gồm cả search engine. Hôm nay bạn có thể dùng nó cho ứng dụng của mình!

google-app-engine.gif

Kevin Gibbs cho biết:

…Cũng giống như cách các blogger đã có được cách thức đơn giản để tạo nên một blog, chúng tôi đang làm cho việc xây dựng và triển khai một ứng dụng web dễ dàng hơn và bạn sẽ được miễn phí lúc khởi đầu…

Tôi là một trong những người đầu tiên dùng dịch vụ Elastic Cloud (EC2) của Amazon. EC2 cho phép bạn khởi tạo và chạy một hay nhiều các server (ảo) một cách hết sức dễ dàng. Cùng với dịch vụ lưu trữ S3 và cơ sở dữ liệu SimpleDB mới được đưa ra gần đây, các dịch vụ của Amazon (gọi chung là Amazon Web Services - AWS) hứa hẹn mở ra một kỷ nguyên mới cho việc hosting theo yêu cầu. Lý thuyết là vậy, nhưng để triển khai một hệ thống có khả năng đáp ứng các yêu cầu cao (high availability, load balancing) bạn cần phải có trình độ và hiểu biết khá cao về hệ thống. Đôi khi việc cấu hình và viết các ứng dụng theo dõi, tự động scale cho AWS lại mất nhiều thời gian hơn chính việc viết ứng dụng.

Ngược lai, GAE là một hệ thống tích hợp với đầy đủ “đồ chơi” cho một ứng dụng web hiện đại (do vậy ở mức độ nào đó kém linh hoạt hơn AWS). Bạn sẽ không bao giờ phải lo nghĩ tới việc scale cho ứng dụng của mình vì cái đó Google sẽ lo cho bạn. Hạ tầng của Google đủ tốt để chúng ta có thể tin cậy rằng ứng dụng sẽ có khả năng đáp ứng trước bất kỳ đột biến nào về traffic. Chúng ta cũng có thể tin rằng CSDL BigTable hoàn toàn không ngán ngại các bảng có nhiều triệu (hay thậm chí hàng tỷ) record, và thời gian đáp ứng của hệ thống file GFS chưa bao giờ bị phàn nàn là chậm.

Bạn sẽ luôn phải ngạc nhiên vì sự rộng rãi của Google khi biết rằng bạn sẽ được host ứng dụng của mình tại đây tới 500 MB lưu trữ và cho phép 10 GB băng thông lưu chuyển mỗi ngày hay tương đương 5 triệu pageview hàng tháng hoàn toàn miễn phí. Vượt qua mức này bạn sẽ phải trả phí nhưng Google chưa công bố bảng giá trong giai đọan thử nghiệm hiện nay. Tôi cho rằng phần lớn các ứng dụng web trong thời gian đầu sẽ khó vượt qua mức miễn phí này, trừ phi bạn cực kỳ thành công. Tóm lại, giờ đây bạn chỉ cần phải nghĩ ra và viết những ứng dụng tuyệt vời nhất rồi kêu gọi cả thế giới vào dùng. Một kiểu chơi rất… Google!

Tuy nhiên, mặt trái của việc xây dựng ứng dụng trên GAE là bạn sẽ phụ thuộc hoàn toàn vào các công nghệ của Google và rất khó có thể tách ra thành một ứng dụng độc lập. Yahoo hay Microsoft sẽ chẳng bao giờ mua một ứng dụng xây dựng trên nền tảng của đối thủ. Còn các nhà đầu tư cũng rất e ngại khi tài sản của công ty bạn đặt hết vào tay người khác, dù cho đó là Google.

Nhưng có thể bạn không cần nghĩ xa đến thế, khi ứng dụng của bạn thành công và có hàng triệu người dùng thì bạn luôn có hàng tá cơ hội biến nó thành vàng. Duy chỉ có các đối thủ và các công ty web hosting đang nhìn động thái mới của Google với ánh mắt thật sự âu lo.

Update: Tôi mới được activate tài khoản GAE. Chắc sẽ phải mất ít ngày học Python + Django ;) — hy vọng sẽ có thể chia sẻ kinh nghiệm về GAE với các bạn.