10 điều bạn nên biết về Silverlight
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.
7. 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ệ.
hfghfghfghfghfghfgg