Dart2JS and IE8 - internet-explorer-8

So I'm researching new frameworks and am really impressed with what I've read about Dart. Of course, I have to support at least IE8, and Dart doesn't seem to provide that. I was wondering why exactly that is. Is it just because it compiles to ES5? Would some simple polyfills fix that?

(Thank's for checking out Dart, we're glad you like what you see!)
Dart is from the future, today. Look at any trends, and one thing is clear: mobile, mobile, mobile. Oh, and also modern browsers that auto-update.
Spending any time working on legacy browsers, with their outdated JavaScript engines and feeble support for HTML5 (if any), means we're not spending time working on a comprehensive platform for developers to build apps that wow users. We believe that user expectations are high, and the only way to meet and exceed them is to build a platform that runs on modern JavaScript engines and can exploit the wide array of HTML5 features. You just can't build a fantastic experience that shows off the power of the modern web and support legacy browsers.
For a quick fix, encourage your users who are stuck on legacy browsers to install Chrome Frame. Or, better yet, encourage them to upgrade their browsers.
As to what prevents Dart from being used in legacy browsers:
Lack of testing. Our buildbots don't test against legacy browsers.
Lack of ES5 JavaScript engines.
Manpower. Our resources are better used building for modern web browsers.
I'm not sure if we explored if an ES5 shim would work. We'd love to hear from the community if they get this to work, though.

Related

firefox add-ons sdk vs XUL

I've just started creating my first firefox add-on and I'm currently in the learning stage, to familiarize with the api.
However I found a little ambiguous what method should I use. After I've read a few tutorials about how to build firefox add-ons using XUL, I realize there's another way:using add-ons sdk which from what I understand is only for firefox 4+ versions only.
I like better the sdk way compared with XUL, however to me the sdk looks like is still in early stage and lacks a few features(I think).
So my question is what road should I take? The new sdk way, which also looks a lot more cleaner than XUL, or to use the good old fashioned way:XUL(of which I'm not a big fan)?
After reading this post: http://blog.mozilla.com/addons/2010/12/09/announcing-add-on-sdk-1-0b1/ I think that the sdk is much better than XUL, however because it lacks a few features like sockets api , I can start my project only using XUL, or postpone it until the sdk will become more mature.
Waiting your thoughts about this problem. Thanks
PS: I'm not interested in developing add-ons for older firefox version(ff3.x)
Add-on SDK is perfect for simple add-ons. Also, it does have access to XPCOM if you need advanced features. So the main issue is UI integration - the options are very limited and nothing comparable to XUL overlays exists.

which automated web testing framework is kept most up-to-date?

Related: Automated Web UI Testing
I'm evaluating ui testing frameworks. It seems like some of them aren't updated very often (esp. Selenium, the core hasn't been updated since 6/2009).
My concern here is that I'll adopt/learn a testing framework that isn't going to be compatible with HTML5. I'm working in C# land, so I'd prefer a framework that will output tests in C# (Nunit).
Which UI testing framework is most likely to be kept up-to-date as HTML5 features become more commonplace?
Candidates:
Selenium
Molybdenum
Watin
Sahi
??
I'd recommend using WebDriver/Selenium. This has wide adoption at many major companies (including Google for example) so isn't likely to go away any time soon. It also has wide support from browser vendors.
Otherwise Watir is also popular.
You may want to look at RIATest for cross-platform cross-browser testing of HTML5 applications.
Historically major updates of RIATest were released every 12-18 months, with minor updates coming out every few months.
(Disclaimer: I am a RIATest team member).

Web GUI frameworks for Phone development

I looked already and couldn't find anything good.
So a question is, are there any good web frameworks that would allow to easily develop GUI for the majority of high end phones? By this I mean
It would have to work "the same" on majority of high end phones (forget the low cost ones)
It would have to simplify the development and hide the ugly details from developer
Clear design and good documentation. Also some stability on the market.
The focus is on good looking and easy to make GUI. Javascript is only a plus.
So basically I am looking for something like jQuery or maybe ExtJS for phone development.
EDIT:
It would be a big plus if it could be consumed in Delphi
EDIT 2:
If it was not clear, I am looking for a web base solution that would run in a browser. So the target is HTML output and not native code.
To contribute to the subject. I found a question that has answers to such topic:
iWebkit vs. JQTouch vs. iUI
So there seem to be the following frameworks:
iUI
jQTouch
WebApp.net
iWebKit
Yahoo! Blueprint
JQTouch
PhoneGap
Sencha Touch
jQueryMobile
PhoneGap supports a wide variety of phones but it does so by making native (or interpreted I don't know) code to run on them, so it is a no go for me.
Yahoo! Blueprint supports a lot of phones also, but seems to need a special framework to run on. So also a no go.
jQTouch and WebApp.net look promissing, but they only support webkit based browsers. Yes these are in majority these days probably, but Blackberry for one has non webkit based browser and Blackberry is very important to me.
I will keep looking, in the meantime, don't be shy to contribute ;)
EDIT
Found this wiki about some frameworks. Most are embedded.
http://en.wikipedia.org/wiki/Multiple_phone_web_based_application_framework
EDIT2
I added Sencha Touch (www.sencha.com/products/touch) to the list as it was added after this post was created. They are the former ExtJS and now have the WebKit based mobile solution.
EDIT3
I added jQuery Mobile (http://jquerymobile.com/) to the list as it was added after this post was created.
Sencha Touch seams to be the solution. Since UniGui for Delphi/Lazarus already supports eye catching ExtJS it would be ideal if it extends to Sencha Touch. We will see.
I'm confused, do you want a web framework that runs on the web for phones (like jqTouch), or are you looking for something that will create native apps provides some amount of portability (like MonoTouch/C#)?
lightweight jquery-like alternative that works on android & iphone (& possibly blackberry & winmo) is xui, cfr. http://xuijs.com/documentation and http://github.com/brianleroux/xui.
edit: xui is more about javascript and less about a good looking GUI, so this might not be what you're looking for after all.
http://jquerymobile.com/
... when its released in "Late 2010".

Is WebKit among those browsers implementing the upcoming x-domain XMLHttpRequest features?

Many of the upcoming generation of browsers (FF 3.1, IE8) are going to support cross-domain XMLHttpRequests in one fashion or other (with security concerns, as long as the server opts in, etc).
Is the same bit of functionality going to be in WebKit?
FF: https://developer.mozilla.org/en/Cross-Site_XMLHttpRequest
IE: http://blogs.msdn.com/ie/archive/2008/06/23/securing-cross-site-xmlhttprequest.aspx
Basic support for this was added to WebKit in May (see this patch). There are have been a number of other patches since then cleaning it up and refactoring bits of WebKit to deal with the changes entailed as well as tracking changes to the spec. Since the spec had changes recently (and webkit was updated with them 3 days ago) I think it is safe to assume no currently shipping browsers support it, but that most of them will in the future, and the current WebKit nightlies are tracking the standard fairly closely.
I think this is really up to the standard (http://www.w3.org/TR/XMLHttpRequest/) rather than the browsers framework, or javascript engine.
In fact I fully disagree with Microsofts decision to implement their own stuff that has nothing to do with the W3C standard. The web is a mess today mostly because of Microsofts ugly implementation of things.
As per WebKit, they seem to be pretty up-to-date with W3C.
Here's also a good article about this: http://ajaxian.com/archives/the-fight-for-cross-domain-xmlhttprequest
If you're looking for other ways to communicate cross-domain using ajax style (without using the XMLHttpRequest object), you should check out JSONP, it is currently fully supported on all browsers.

Choosing between Ajax, Flex and Silverlight [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
Ajax, Flex and Silverlight are a few ways to make more interactive web applications. What kinds of factors would you consider when deciding which to use for a new web application?
Does any one of them offer better cross-platform compatibility, performance, developer tools or community support?
Here's a quick rundown of each area (with lots of helpful links):
Cross-platform compatibility
Ajax works in any modern browser that can run JavaScript. Flex requires Flash or anything else that can handle SWFs but, once that's installed, it's a total freeride as far as compatibility. Silverlight is tricky and misunderstood so carefully consider your userbase before going with this MS foray into the rich web applications arms race. Also keep in mind that Silverlight is still in Beta, so it may become more widely used and installed in the future as it is developed.
Performance
I'm fearful of making too many statements about performance because it really depends on how much you are willing to optimize and the exact nature of your application. Also, some technology stacks are just never going to be very fast. Some people out there have been making comparisons, but again, it depends on a great many factors (even the version of the browser from which you are testing!). It's probably best to choose based on other factors and optimize once you've started to develop.
Developer tools
There are the "golden standard" dev tools for each of the three:
Ajax has basically unlimited options, depending on the rest of your technology and architecture choices. The big questions you're actually faced with are which libraries to rely upon, and Google has voiced a pretty well adopted answer with things like Web Toolkit. When you get right down to it, it's just XML and JavaScript, right?
Flex is from Adobe and, just like with Flash development, you'd better stick with their homegrown tools because--well--they're making the standards as they go along.
Microsoft has positioned Microsoft Expression Blend versions 2.0 and 2.5 for designing the UI of Silverlight 1.0 and 2 applications respectively. Visual Studio 2008 can be used to develop and debug Silverlight applications (from Wikipedia).
Community support
There is both official and unofficial community, corporate, and open-source support for all three options. Whichever you are already integrated with and which makes you feel most at home are very individual things, but I'll offer this advice: stick with what you know. If you are a MS developer and have MSDN as your homepage, you are probably going to think the Silverlight documentation and forums are really helpful. Flex has a very similar story; the forums are pretty good and if you're a Flash person already, you're going to be right at home with their documentation and user community.
On the other hand, Ajax is basically all over the place because you can implement so many different ways and use so many widely-varied libraries. Each library can have it's own forums to visit and mailing lists to lurk within for answers.
Once again, all three have corporate giants trying to foster their communities and to get the best support possible to the developers that will give them greater market share in the future.
The choice should in my opinion be mostly based on the nature of the application you'll be building (for example, if you need to manipulate vector graphics, Ajax is pretty much out), but here are some general guidelines:
Ubiquity
Ajax -- Supported by all modern browsers across platforms
Flex -- Runtime (Flash Player) has very wide installed base for Windows, Mac OS, Linux. Linux version was a bit buggy the last time I checked, though
Silverlight -- Runtime has quite low installed base (and no Linux support) at the moment
Choice of programming language
(Unordeded because of subjectivity, but note that Silverlight offers the most choice. Also note that the existing language experience of developers in your team should be taken into account.)
Silverlight: Any .NET language (C#, Visual Basic, IronPython(?), IronRuby(?)) (and XAML for UI definition)
Ajax: JavaScript (and XHTML for UI definition)
Flex: ActionScript 3 (and MXML for UI definition)
API Stability and compatibility
Flex -- Runtime is the same across platforms and browsers, more mature and stable at the moment than Silverlight
Silverlight -- Runtime is the same across platforms and browsers, less mature than Flex/Flash, v2.0 is still in beta
Ajax -- Compatibility problems across browsers (may be mitigated via Ajax libraries, though)
Web/Browser Integration
Ajax -- Content is native inside browser, based on standards: searchable by browser and search engine crawlers, subject to any standard UI practices the browser and operating system have established
Flex and Silverlight -- Content not native to browser (i.e. runs in its own little "sandbox/rectangle"): not necessarily subject to established UI practices for the given platform
Developer Tools
Ajax -- Your favorite code editor, browser and debugging toolkit for the browser
Flex -- Flex SDK is available for Windows, Mac OS and Linux for free and can be used with your favorite code editor. A Command-line debugger is included, but the Adobe-provided profiler is only available in the commercial Flex Builder IDE
Silverlight -- AFAIK, The SDK is available for Windows for free and can be used with your favorite .NET development tools
The web runtimes like Flex and Silverlight all offer enticing things, but come with two big costs:
They run only within a rectangle on the page, and don't interact with normal web widgets
They are only available to people who have that plug-in installed
Even the nearly-ubiquitous Flash isn't installed on every web browser, so by choosing to use a plug-in runtime you're excluding part of your audience.
In contrast, JavaScript (or Ajax) is available on pretty much every browser, and interacts better with normal web pages, but is a more primitive and restricting language. Using it for complex animations can be tricky, and you'll need to test your applications in more versions on more platforms to make sure it works.
Cross-platform compatibility isn't the issue it used to be, so the issue is this: Will you gain more in the features of a plug-in library than you'll lose in the audience you exclude?
My own answer has so far always been JavaScript/Ajax, but I'd re-evaluate that in any new project.
What is your audience: public web site or an intranet business app? Adoption rates are not relevant if you have a controlled audience who will install what is needed to run your app. However, if you need the largest possible audience to make your web startup a success then it may be critical.
What is your goal? Building something for the lowest cost? Learning new technology?
Can you leverage your existing skills? If you already know .NET then Silverlight gets a boost. Learning Flex may be interesting and useful, but is it more useful to you than more experience with .NET technologies? Remember to consider the opportunity cost of learning something totally new.
I don't see a clear technology winner at this point, and likely there won't be one for a long time, so the choice will come down to fairly subjective factors.
Other than what's already been mentioned here, another huge thing to consider is what your UI is going to be.
If you're going to be using a lot of advanced UI controls like trees, lists, tab controls, etc then consider the following:
JavaScript/HTML - No native support for anything beyond things basic drop down boxes, buttons, and text fields. If you want something like a tree control or tab control then you'll have to roll your own or find a third party library.
Adobe ActionScript - Native support for a wide array of advanced UI controls
Silverlight - 1.0 had very limited UI controls, but 2.0 will be adding many more and I'm sure we'll continue to see controls added in future releases.

Resources