(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) |