(Post 27/05/2008) Xây dựng chiến lược Web là nhiệm vụ rất quan trọng đối với bất kỳ một doanh nghiệp thành đạt nào. Tuy nhiên, việc thực hiện chiến lược đó với các ứng dụng Internet phong phú không phải lúc nào cũng dễ dàng. Để giảm đi những khó khăn đó, gần đây như các bạn đã biết gã khổng lồ Microsoft đã đưa ra sản phẩm Silverlight, một plug-in hoạt động trên đa nền tảng, đa trình duyệt cho các chuyên gia phát triển ứng dụng. Plug-in này có thể cho phép phát triển các ứng dụng một cách phong phú gồm có media, khả năng tương tác và hoạt ảnh. Silverlight plug-in có thể làm việc trên các trình duyệt Internet Explorer và Firefox trong Windows và Firefox cũng như trình duyệt Safari trên hệ điều hành Mac.

Một số người cho rằng Microsoft muốn phát hành sản phẩm này nhằm đánh bại đối thủ Flash của Adobe. Đến thời điểm này thì câu trả lời vẫn chưa ngã ngũ và có lẽ cần phải có thêm thời gian nữa để người dùng chấp nhận lựa chọn sản phẩm nào thú vị hơn. Chúng tôi cũng không thực sự thiên vị về một sản phẩm nào, song thẳng thắn mà nói thì Silverlight của Microsoft cũng có một số ưu điểm sẽ được chúng tôi liệt kê dưới đây:

1. Silverlight tránh được các vấn đề về hệ điều hành cũng như trình duyệt

Với hầu hết các nhóm phát triển phần mềm, việc phát triển một website làm việc trên các trình duyệt phổ biến khác nhau như Internet Explorer, Firefox, Safari và Opera quả là một điều khó khăn. Vấn đề ở đây không đơn giản ở việc cần thiết có sự bổ sung mã mà còn cả một số lượng lớn các công việc kiểm thử. Khi một nhà phát triển phần mềm tạo càng nhiều phiên bản trình duyệt và hệ điều hành, số lượng công việc test thử sẽ càng trở nên khổng lồ.

Thông thường có hai cách mà một dự án phát triển vẫn nhắm đến đó là: hỗ trợ một tập nhỏ các trình duyệt Web hoặc tăng số lượng nhân viên để đảm về chất lượng.

Tương phản với điều đó, Silverlight plug-in cho phép có được mô hình phát triển như nhau mà không cần quan tâm tới hệ điều hành và trình duyệt của người dùng là gì. Hiện nay, hai hệ điều hành và ba trình duyệt đã đang được hỗ trợ. Microsoft hứa sẽ bổ sung thêm sự hỗ trợ cho trình duyệt Opera trên hệ điều hành Windows và Mac. Thêm vào đó là dự án Mono tạo một bước tiến dài trong dự án Moonlight của nó, dự án này thiên về việc đưa Silverlight vào Linux.

2. Silverlight, câu chuyện có thật

Ngay từ phiên bản đầu là Release Candidate, Silverlight đã được nhiều tổ chức xem xét và cân nhắc. Quả thực nó có nhiều tính năng quan trọng và thú vị, nhận được rất nhiều sự đồng tình ủng hộ trong phát hành này.

Phát hành Silverlight 1.1 lần đầu tiên có hỗ trợ .Net, gồm có các ngôn ngữ .Net cơ bản, C# và Visual Basic. Thêm vào đó theo Microsoft, Silverlight 1.1 sẽ có sự hỗ trợ .Net cho các ngôn ngữ động như Ruby, Python, dynamic Visual Basic và Jscript đã có. Theo quan điểm của chúng tôi, các ngôn ngữ quan trọng để Silverlight hỗ trợ là C# và Visual Basic vì chúng cho phép các chuyên gia phát triển .Net có thể tạo các ứng dụng Silverlight. Trong phiên bản 1.1, bất kỳ ngôn ngữ .Net nào cũng phải được hỗ trợ, vì những gì thực sự được cung cấp cho trình duyệt đều là các thành phần .Net lắp ráp.

3. Silverlight sử dụng công nghệ quen thuộc với các chuyên gia phát triển

Silverlight được xây dựng với các công nghệ của Microsoft đang tồn tại: sự trộn lẫn giữa Windows Presentation Framework-như XAML (ngôn ngữ markup ứng dụng XML), JavaScript và các công nghệ .Net. Nếu các chuyên gia phát triển của bạn đã thân thiện với các công nghệ Web và Microsoft .Net thì họ hoàn toàn có thể sử dụng các kiến thức đã có để xây dựng ứng dụng Silverlight.

Phiên bản Silverlight bạn chọn để giới thiệu cho một dự án mới sẽ phụ thuộc vào các kỹ năng mà nhóm phát triển có. Nếu nhóm phát triển phần mềm nặng về phát triển ASP.NET trình chủ (chủ yếu là C# và VB.Net) thì bạn cần phải dùng Silverlight 1.1, còn nếu họ tinh thông về các ngôn ngữ trình khách như JavaScript, thì Silverlight 1.0 là nền tảng tuyệt vời để giới thiệu.

4. Giao diện người dùng của Silverlight cũng là Markup – giống HTML

XAML là một ngôn ngữ của Silverlight cho thiết kế giao diện người dùng. Bạn có thể đã quen với ngôn ngữ markup phổ biến khác như HTML. HTML là các văn bản thô gồm có các thông tin trình báo với trình duyệt Web về cách render “look” và “feel” của trang web. XAML cũng thực hiện các công việc tương tự. Tuy vậy thay vì trình duyệt thông dịch các chỉ lệnh về cách render file như thế nào thì runtime của Silverlight lại thực hiện việc render.

Tồn tại markup XAML là điều quan trọng vì nó có thể được tạo một cách tự động. Dù các chuyên gia phát triển của bạn sử dụng bất cứ công cụ nào để phát triển Web trình chủ thì cũng đều có thể tạo một HTML động cho các trang web. Kỹ thuật này quá hấp dẫn vì bạn có thể tạo các đoạn HTML có khả năng dùng lại để sử dụng trên chính site của bạn. Một ví dụ cho vấn đề này là thiết kế một trang chủ của các websie. Thông thường, phần header và footer (và cả phần bên phải và trái của trang) đều có thể được sử dụng lại trong toàn bộ trang web.

Vì XAML cũng là markup nên bạn có thể sử dụng các công nghệ trình khách để tạo động XAML giống như những gì mà các chuyên gia phát triển đã thực hiện với HTML. Ngôn ngữ markup tuy có phần khác nhưng các công nghệ lại hoàn toàn giống nhau.

5. Silverlight và công nghệ AJAX có thể bổ sung cho nhau

Web vẫn đang trong quá trình phát triển. Những ngày ban đầu khi mới xuất hiện web, thời điểm những năm 1990, bất kỳ ai cũng đều muốn rằng các chuyên gia phát triển nên chuyển nhiều thứ vào máy chủ để ứng dụng trở lên linh hoạt hơn. Trong khi vấn đề này đang được thực hiện tốt về mặt kỹ thuật thì nó đã cản trở những cảm nhận từ phía người dùng. Hiện giờ Asynchronous JavaScript and XML là tất cả những gì còn lại. Đơn giản AJAX viết mã một cách trực tiếp trong trình duyệt để cho phép sự tương tác với người dùng tốt hơn. Ví dụ kinh điển trong trường hợp này là Google maps (hoặc Live maps của Microsoft).

Silverlight đi theo mô hình này bằng cách cho phép nhiều giao diện người dùng ấn tượng hơn trong trình duyệt. Việc trao đổi dữ liệu giữa máy chủ và máy khách bằng sử dụng các công nghệ AJAX (dù thư viện AJAX nào đi chăng nữa) cho phép các ứng dụng Silverlight có nhiều sức mạnh. Sử dụng mô hình giao diện người dùng phong phú của Silverlight cùng với mô hình truyền tải dữ liệu mạnh của AJAX, bạn sẽ có được khả năng tương tác đến bất ngờ mà không cần ép buộc người dùng đợi cho đến khi trang web được refresh.

6. Silverlight cho phép các chuyên gia phát triển và các nhà thiết kế có thể làm việc cùng nhau

Web đã bắt buộc các nhóm phát triển phải nghĩ nhiều hơn về vấn đề thiết kế và mỹ học. Cảm nhận người dùng được thuận lợi và các giao diện có tính trực giác trở thành tiêu chuẩn đặc biệt. Điều này thường xảy ra bởi việc đòi hỏi phải đẹp và có các kỹ năng cho cảm nhận của người dùng trong phát triển ứng dụng. Ngày nay, điều đó được thực hiện bằng cách sử dụng các họa sỹ thiết kế để thiết kế cho một website.

Mặc dù vậy, các thành phần mà các nhà họa sỹ sử dụng và cung cấp thường khá khác nhau (tùy công cụ mà các chuyên gia phát triển sử dụng). Điển hình, các họa sỹ thiết kế cung cấp các file ảnh (như Photoshop hoặc các file .jpg) hoặc (trong một số trường hợp tiên tiến hơn) HTML đóng vai trò khung cho các chuyên gia phát triển phần mềm tích hợp chúng vào trong một dự án. Dù bạn sử dụng công nghệ nào đi chăng nữa thì các thiết kế đó cũng vẫn phải được tích hợp vào mã ứng dụng web. Khi việc thiết kế tiếp tục, sự tích hợp này được diễn ra một cách thường nhật. Về vấn đề này Silverlight đã đưa ra một diện mạo phát triển tốt hơn. Tập công cụ của Microsoft cho Silverlight là sự trộn lẫn của các công cụ phát triển truyền thống, như Visual Studio và các công cụ mới được đưa ra cho các nhà thiết kế như Expression Studio.

Với Silverlight, công cụ thiết kế chính là Expression Blend, công cụ này cho phép tạo XAML theo cách thích hợp và thân thiện với các nhà thiết kế. Sử dụng Blend cũng giống như Adobe Illustrator hoặc Photoshop. Sự khác biệt lớn nhất ở đây là nó sử dụng cùng công cụ mà các nhà phát triển sử dụng. Blend làm việc cùng với các file dự án, các file XAML và JavaScript cũng như Visual Studio. Khi một thiết kế được tạo và tinh chỉnh, không cần đến bước tích hợp để sử dụng nó trong Silverlight. Các nhà thiết kế có thể xem sự tương tác thiết kế của mình với cùng logic mà các chuyên gia phát triển đưa vào trong một dự án lớn. Cách thực hiện như vậy giúp các nhà thiết kế cũng như chuyên gia phát triển có thể làm việc cùng nhau tốt hơn.

7. Khả năng phân phối Silverlight

Silverlight được phân phối đến một trình duyệt web trong các mẩu chương trình nhỏ. Điều này có nghĩa là trong một hoặc nhiều gói (các file JavaScript, assemblies,…), thiết kế được cung cấp bằng một hoặc một vài gói (như các file XAML) và các tài nguyên khác được cung cấp một cách độc lập (ảnh, phông chữ và video). Các chuyên gia phát triển Silverlight thời gian đầu, những người đã quen thuộc với khả năng phân phối của một file Flash chưa thích vấn đề này.

Tuy vậy trong thực tế lại hoàn toàn khác. Các gói tách biệt lại khuyến khích sự sáng tạo trong nội dung động phía trình chủ dễ dàng hơn những gì đã được thực hiện trong Flash ngày nay. Nó cho phép chúng ta có thể tạo XAML hấp dẫn và động trên máy chủ, phân phối nó một cách đơn giản theo cách mà chúng ta thực hiện với markup (ví dụ như HTML). Silverlight có một điều kiện thuận lợi cho việc sử dụng các file Zip để đóng gói nhiều file được sử dụng bởi mã XAML (ảnh, video, phông chữ, các file kịch bản…) và download chúng hiệu quả đến máy khách.

8. Điểm mới trong Silverlight

Silverlight thực sự là những cố gắng của Microsoft trong công nghệ này. Quả thực đây là một công nghệ chưa thực sự chín muồi với những sản phẩm hiện đang được cung cấp của các công ty khác như Flash và Flex của Adobe. Flash hiện đang có phiên bản 9.0 và sản phẩm này đã có một lịch sử phát triển khá lâu, luôn dẫn đầu về cả tính phổ biến và sự phong phú. Tuy nhiên điều đó không có nghĩa rằng Silverlight sẽ không thể bắt kịp Flash trong cuộc chạy đua này. Microsoft có một sở trường riêng cho việc học từ những thất bại và thành công của người đi trước (hãy xem Java và .NET). Tuy nhiên mọi vấn đề đều chưa thể chắc chắn ngay từ bây giờ được.

Nếu bạn lên kế hoạch tạo các ứng dụng thay thế chính cho các ứng dụng máy trạm làm việc để kiểm soát dữ liệu thì có thể thiếu mất các điều khiển cơ bản và việc kết nối dữ liệu trong Silverlight. Silverlight không phải là một sự thay thế cho các biểu mẫu của Windows Forms, Windows Presentation Foundation (WPF), Java Applets hoặc Sharepoint. Đơn giản là nó được thiết kế để thực hiện nhiệm vụ của các ứng dụng dòng doanh nghiệp. Tuy nhiên nếu bạn muốn tạo các ứng dụng phong phú hoạt động được trên nhiều nền tảng và hệ điều hành thì Silverlight chính là thứ phù hợp.

9. Silverlight XAML với WPF XAML

XAML có thể nói như một ưu điểm tuyệt vời vì WPF của Microsoft cũng sử dụng XAML. Tuy nhiên không may ở đây là các ưu điểm này không hấp dẫn như những gì nó có vẫn được nghĩ vì sự chấp thuận WPF vẫn ở con số thấp và các điểm khác nhau giữa WPF XAML và Silverlight XAML.

Trước tiên những nhân chứng cho thấy rằng sự tỉ lệ chấp thuận WPF vẫn tương đối thấp trong so sánh với các công nghệ trình khách khác như Visual Basic 6 và Windows Forms của .Net. Chính vì vậy sự thật XAML vẫn chưa thực sự mạnh trong một vài năm vừa qua.

Thứ hai, Silverlight XAML là một văn phạm đã được đơn giản hóa so với WPF XAML, chính vì vậy Silverlight XAML không có nhiều sức mạnh. Điều này tốt và cũng không tốt. Silverlight XAML thực sự rất dễ hiểu nhưng nếu các chuyên gia phát triển vẫn so sánh với Silverlight từ WPF, thì nó dường như là không đủ.

Với quan điểm của chúng tôi, văn phạm nhỏ hơn sẽ tốt hơn cho Silverlight, vì runtime là nó và có khả năng quản lý người dùng. Silverlight XAML không có những thứ gì không cần thiết cho nhiệm vụ thủ công. Rõ ràng nó sẽ có lợi trong việc xây dựng nhiều chức năng trong Silverlight XAML, nhưng phương pháp hiện hành khá cẩn thận về lượng được bổ sung để giữ giao diện lập trình ứng dụng nhỏ và nhẹ.

10. Silverlight cách tuyệt vời để học XAML

Như được nhìn nhận từ phần trên, XAML của Silverlight có một văn phạm tương đối nhỏ. Điều này có nghĩa nó chính là cách tốt để học XAML làm việc như thế nào. Các chuyên gia phát triển phần mềm đang muốn học XAML và muốn theo kịp với tốc độ của công nghệ sẽ hiểu rõ giá trị của Silverlight với cách tạo mã sáng sủa và ngắn gọn của nó. Hầu hết các chuyên gia phát triển đều sẽ sớm nghĩ về các tính năng mà họ sẽ thích trong Silverlight. Khi bắt đầu xem xét XAML của WPF họ sẽ thấy được hầu hết các tính năng đó đều có trong Silverlight,

Ngược lại các chuyên gia bắt đầu với WPF và chọn Silverlight sẽ cần từ bỏ một số phương tiện dự trữ trong chuẩn bị của họ.

Lúc này chính là thời điểm để xác định xem sử dụng Silverlight trong chiến lược Web của bạn là đúng hay không. Silverlight là một công nghệ thú vị mà có lợi ích nhiều với công ty của bạn cũng như các khách hàng và người dùng. Chúng tôi hy vọng bài này có thể giúp được bạn có được tầm hiểu biết sâu hơn về các tài liệu thị trường và hiểu được những giá trị thực cũng như hạn chế của công nghệ.

Văn Linh – theo ComputerWorld
(nguồn QuanTriMang)

FPT Aptech – Hệ Thống Đào Tạo Lập Trình Viên Quốc Tế

FPT Aptech trực thuộc Tổ chức Giáo dục FPT có hơn 25 năm kinh nghiệm đào tạo lập trình viên quốc tế tại Việt Nam, và luôn là sự lựa chọn ưu tiên của các sinh viên và nhà tuyển dụng.
0981578920
icons8-exercise-96