Vinova tuyển lập trình viên Mobile & Web ở Hà Nội, lương $300-1000

Forum: Conversation on Silverlight 824

silverlight

Comments

ngocdaothanh.myopenid.com 174
over 4 years ago

M$ có lẽ tự tin là lắm tiền và tiến sĩ còn nhiều hơn của Google, nên đến nay vẫn muốn định ra chuẩn riêng chẳng chơi cùng ai. Vài chỉ trích về Silverlight ghi trên Wikipedia:

  • Không hỗ trợ Linux, bọn kém tắm sẽ có cớ đăng bài lên vnexpress.
  • Không theo web standard, người dùng muốn xem web sẽ bắt buộc phải trả tiền cho M$.
pokemon5gam.myopenid.com 1
Updated over 4 years ago

Đây là một bài viết của Sudha một thành viên của Flex india group

 

Hi,
    I recently had an opportunity to have a conversation with Pandurang on
Silverlight. Those who attended the previous Flex user group meeting in
Bangalore may know Pandurang. He had earlier spoken to the user group on the
technology. In line with the same, I had an email conversation with him on
Silverlight, the details of which I have written below:

1. *Silverlight claims to have tremendously improvised in its performance
execution due to its built-in CLR engine. Could you give us a more detailed
insight into it?*

The Common Language Runtime or the CLR is the core piece of .NET Framework.
The CLR is a well-proven high-performance platform providing features like
Garbage Collection, Just-In-Time compilation, Exception Management and a
wide array of fully featured languages such as VB.NET and C# that are used
by millions of developers worldwide to build rich desktop, web and mobile
applications as well! The CLR also provides great features for security of
the code that is running and a thread pool for efficient multi-threading.
Having the CLR inside of Silverlight is a great boost to the performance,
providing a high-performance execution environment inside of the browser

2. *Silverlight essentially depends on the browser's Javascript for its
rendering. This also means that malicious intruders and decompilers can
easily work their way into Silverlight code. How can I, as a developer be
assured that my code would be safe from intrusion?*

Silverlight does not depend on JavaScript for its rendering! In Silverlight
1, JavaScript is the language for event handling and runs with the full
browser sandbox restrictions. In Silverlight 2, the .NET runtime is what
runs the Silverlight code (you can also use JavaScript if you wanted to). In
any technology, anything that runs on the client is downloaded and hence can
be accessed by the end-user. This is similar to "View Source" in regular
HTML or AJAX pages. The same strategies you use there can be used here for
code protection – keep all confidential business logic on server and access
by calling services, use authentication and validation schemes for
server-side code irrespective of validations done on client-side and use
obfuscation to make it really hard to reverse engineer code! There are a lot
of obfuscation tools and technologies available for .NET for many years now!

3. *How does the Silverlight player handle security concerns? Does it have a
robust model in par with the flash player's security model?*

Silverlight has a much deeper security model. I recommend reading through
these articles that describe Silverlight security model:
http://blogs.msdn.com/shawnfa/archive/2007/05/14/silverlight-security....
Silverlight also runs in the browser sandbox restriction – so you cannot
write Silverlight code that touches the end-user's hard drive or any such
resource (except in special cases like Isolated Storage and when a user
voluntarily provides the code with a local file stream handle via the Open
File Dialog). I do not know enough about the Flash player security model and
hence cannot comment on that!

4. *Deep zoom support is one area in Silverlight that is attracting the most
attention. How much of deep zoom can a developer use in his application
considering the memory and performance impacts?*

Deep Zoom is a highly scalable means of managing megapixel or even gigapixel
imagery on the Internet. Deep Zoom works by only showing low resolution
images and getting details of high-resolution imagery as and when required
based on the zoom level and the viewport of the image. It is based on the
amazing Seadragon technology (http://labs.live.com/Seadragon.aspx) that is
also used in other projects such as Photosynth (
http://labs.live.com/Photosynth.aspx).

5. *What additional features can we expect from the upcoming versions of
Silverlight?*

Silverlight 2 is still in BETA and the team is currently working on
optimizations and completing the features for release. The next version
planning has begun and at the moment there is no list of features announced
for the next version.

6. *Is it possible to create a Silverlight application which has html or
other scripts embedded into it? If yes, how easy is it to do so?*

No. Silverlight renders XAML, a markup language that describes all elements
of Silverlight UIs. HTML markup is not rendered by Silverlight. In my view,
since Silverlight is based in the browser, it is unnecessary to have a
second HTML-generation engine when you have the browser which was designed
for that purpose! JavaScript execution is also delegated to the browser's
script engine. You can write Silverlight application code in .NET or in any
of the Dynamic Languages (such as IronPython, IronRuby or JavaScript) or any
other language that targets the Silverlight CLR. These are the only pieces
of code executed by Silverlight itself.

You can however have overlays of HTML and Silverlight content – Silverlight
controls support a "windowless" model which makes it possible to have HTML
DIVs overlaying Silverlight or vice-versa.

7. *WPF and Silverlight enable developers to create applications for the
desktop and the internet. How easy is the porting of applications from
Silverlight to WPF and vice versa?*

Silverlight is a subset of WPF. So taking a Silverlight application and
porting it to WPF is relatively easier – there are a few changes that will
be required (for example having a Window container for the code) assuming
you have not used some libraries that are Silverlight specific (such as
System.Windows.Browser APIs). WPF code can also be ported to Silverlight
quite easily if it is not using libraries that are not available in
Silverlight.

8. *One of Silverlight's major backdrops is its penetration. What strategies
does Microsoft plan in this regard?*

Microsoft Silverlight is just an year old and has got a tremendous amount of
response. Microsoft is working with several top content providers and
websites across the world and showcasing the power of Silverlight. We know
that when many websites start adopting Silverlight for premium content, that
will automatically drive end-user downloads of the plug-in. At MIX 08, we
also announced that we are getting around 1.5 million downloads of the
Silverlight plug-in per day.

9. *Silverlight has found its adoption with many developers worldwide,
especially the ones with a .NET experience. Your comments on how users from
other programming communities could adopt the framework.*

Though Silverlight is highly popular with Microsoft developers and those who
are working on .NET already, it is an equally exciting technology for RIA
developers and media organizations across the industry. Silverlight offers
robust performance, great flexibility in handling video and a wide array of
language support. Today, if you are not a .NET user, you can still use
JavaScript to work with Silverlight. The designer-developer experience
provided by Expression and Visual Studio is an industry-first and makes it
possible for designers to be involved throughout the application lifecycle.
C# is very natural to pickup for Java, C and C++ developers. VB.NET is very
natural for those who know VBScript or Visual Basic. Also people with
Python, Ruby or similar language experiences can easily code on Silverlight.

The language independence of the .NET platform in Silverlight actually makes
it a far more approachable technology from developers in multiple technology
streams.

10. *Silverlight on one hand supports dynamic languages encouraging many
people towards its adoption. At the same time, it provides minimal or no
support for the Linux community. Your comments on this.*

We have an active partnership with Novell who is developing Moonlight (based
on Mono) for Linux. You can learn more about the Moonlight project here:
http://www.mono-project.com/Moonlight

With Moonlight, end-users using Linux to browser Silverlight content will be
able to see the same content on browsers running on Linux as well.

11. *Are the features of the Macintosh and Windows releases of Silverlight
fully compatible?*

Yes.

12. *Part of Silverlight is currently open sourced. However, many people
have their own apprehensions about this statement. What plans does Microsoft
have in this area?*

The statement is not entirely correct. Silverlight is a technology platform.
In Silverlight 2, we introduced controls and a rich control model for
building your own controls. We also shipped a set of common base controls.
We have released the source code for these common controls to enable
developers to take these controls, see how they were built, understand best
practices of building similar controls or even adding features to create a
new control!

We have also released complete unit tests and a unit testing framework for
Silverlight – this is important for our developer base who have rich support
for unit testing in our enterprise development tools and technologies for
many years now.

It is out there for download, so I don't see what apprehensions there could
be!

13. *Training is one area in which other RIA's are facing some difficulty.
What strategies does Microsoft include training at the academic as well as
the industry level?
*
Microsoft has already invested and is continuing to invest in creating
training content, learning material and many other artifacts online for
Silverlight, Expression and WPF. Microsoft also has an excellent track
record of bringing such resources to students and academia. Though there are
no specific plans announced now, you can see that Microsoft already has a
huge academic program in several countries (including India) and new
technologies can roll into this program easily.

14. *If an organization wants you to interview a candidate for Silverlight
development position, how would you go about it?*

If you are hiring a designer, look for design skills. Experience with
interaction design is useful. Having an open mind, willing to learn new
things, etc. is important because it is probably unlikely that he/she would
have extensive Expression experience, given the tools are new.

If you are hiring a developer, knowing .NET or any languages that
Silverlight support is just enough – the programming model is the same as
that for desktop or the web or any other Microsoft technology!

15. *What are your suggestions to the people who want to come into silver
light development?*

I see a lot of people, especially with experience in competing technologies
such as Flash or Flex, start doing a feature-to-feature comparison or a
tool-to-tool comparison. One of the advices I give to people is that if you
have such prior experience, sometimes you will need to understand a
technology like Silverlight a little more fundamentally. Remember that the
people who designed and created Silverlight at Microsoft must have also made
a huge amount of design and development decisions – some similar to existing
technologies, some new – based on the basic vision they had for Silverlight.
That basic vision, of providing a consistent way of building rich user
experiences across platforms and devices, with high performance and fidelity
had driven several design choices. Understanding Silverlight from the
fundamentals requires a lot of coding, trying out different things, creating
little projects, reading blogs of other Silverlight designers/developers and
even participating in community. That would begin to give you an idea of
what the technology really is, what the fundamental philosophies are and
what is the best way you can use it. This is true in general for any
technology by any vendor – and this is what sets technology gurus apart from
the rest.

The best starting point is www.silverlight.net – there are simple tutorials,
how-to's and step-by-step instructions for anybody to get started! Have fun
coding!

You may have a look at it and I hope it would be useful to you. I have also
posted the same in my blog at *http://tinyurl.com/6zrryh*

Thanks & Regards,
Sudha.

You must login to be able to comment

Uploaded files

No file uploaded yet

You must login to be able to upload

Nhà tài trợ:

Mọi người đều tự do viết bài, sửa bài của người khác, và bình luận ở trang web này. Bạn muốn chủ động tạo bài mới để chia sẻ kinh nghiệm với mọi người? Xin click link ở dưới.

Create new content