WinJS: the Windows Library for JavaScript
msdn.microsoft.com
msdn.microsoft.com
They had an actual shot on getting up to par with proper HTML5, with funky ms extensions being optional where absolutely neccessary. Instead, they rely on an astounding number of non-cross-browser methods and features, as they have done since '95
https://github.com/winjs/winjs/issues Most issues listed currently are about stuff that just doesn't work on any other browser/platform than IE
Footnote: I'm a web developer myself and I use Windows 8.1. How tempted have I been at fiddling with the winjs flavour myself? not at all.
Footnote2: I do have to give them credit for the roadmap though. It seems like they're on the right track https://github.com/winjs/winjs/wiki/Roadmap
Footnote3: I've been fooled into thinking that Microsoft was on the right track again and again.
(Your comment was modified since I hit reply, but I think my point still stands, especially that it isn't strictly MS-extensions, but actual standard drafts)
Working on a project that relies heavily on CSS3, I have come to the conclusion that most browsers still depend on vendor specific prefixes. Take the CSS animation for instance, without the inclusion of "-webkit-", it fails to work in the latest Chrome and Safari while having no issues on Firefox or IE.
[1] http://www.w3schools.com/cssref/tryit.asp?filename=trycss3_a...
Their reasoning was that as Microsoft is pulling the plug on Silverlight, the company did not want to implement new features in their issue manager app inside a dying platform. So they decided to first port their app to a vanilla thing and from then on continue developing their app further.
Am I comparing Silverlight with WinJS? No. But will this company rush to invest time and money into yet another pumped-up Microsoft product? No either.
"Trust, Users and the Developer Division" discussion 2 months ago - https://news.ycombinator.com/item?id=7107544
Like any commercial vendor optimized around selling software licenses. A commercial vendor optimized around selling software-backed services and complete solutions has different incentives, since they end up eating the costs of churn. Unsurprisingly, lots of companies that do the latter are built around (and often sponsor) open source software.
That aside, I love how this negativity only seems to stick to Microsoft when every other major player has their own private set of bits that only work well on their platform (WebOS, Firefox OS "proposed standard" mobility APIs, Chrome endless variety of "we're doing it so it's going to be a standard" APIs, etc). It's no excuse, but it's hardly unique to MS
I think Scott Hanselman put it best with his recent 'Microsoft killed my Pappy' post...
Quote: We've open sourced Azure hardware specs, opening SDKs, and we're making systems more pluggable than ever.
Companies building their own DCs spend a lot of money on doing this, so companies like Microsoft (I think Facebook do it too) showing off their designs is really useful.
Also, ActiveX. ;)
How many security bugs does NaCl have compared to ActiveX? How do Microsoft's attempts to sandbox ActiveX compare to the efforts made to sandbox NaCl? IIRC, you could format the C: drive in ActiveX with a couple of lines of code (by design). NaCl (so far as I know) isn't supposed to allow that.
As far as I'm concerned, NaCl and ActiveX aren't even in the same ballpark.
There is NO EXCUSE for a TOGGLE to not work, cross-browser, in the year 2014.
Does work on BlackBerry Z10 - no tap to toggle, but press and drag to toggle.
all on os x 10.9.2
Doesn't work in Chrome on Ubuntu 14. Doesn't work in Firefox on Ubuntu 14.
Lucky for both of us there is a built in barometer for seeing how committed Microsoft is, in the form of the Github issues list.
Word used to describe the latest coming out of Microsoft for decades now. And each time we're left wanting.
I, for one, am no longer hopeful. Internet Explorer has been and continues to be hostile to the web.
If Microsoft is open sourcing this code nothing prevents from the OO community to help them from making it more compatible with rest of the browsers.
Not much different than everyone else. Chrome, Firefox, Safari, all have features that work best in their own browsers.
Footnote: You should read it first before jumping into a conclusion.
<h2>Bringing WinJS cross-platform</h2>
So it wouldn't surprise me if this library didn't work great on the web on any browser because it wasn't created for that purpose.
I'm actually glad this happened though. Seems like MS is finally rallying around C# as the defacto language for building apps (as opposed to Visual Basic or even Visual C++). This project might succeed (or at least find a nitch) among developers who are building touch centric web applications.
I am personally happy of this decision, and also for the support announced for other oss.
I can't say much to WinJS yet, but I am interested in their choice of container.
You can do ClickOnce and WPF as well if you want.
I rather like these solutions. I've built several of both.
http://try.buildwinjs.com/default.aspx#toggle
"GitHub issue 9: This control currently works only in IE due to its dependency on IE-only styles ::-ms-fill-lower, ::-ms-fill-upper, ::-ms-ticks-before, ::-ms-ticks-after, and ::-ms-tooltip."
Another reason why this sucks, you can even't copy that stupid text from that page in Chrome.
/me smashes monitor with keyboard, then ragequits.
But really, I suspect the name is indeed intended to reflect Microsoft's flagship brand: Windows. They're proud of the brand and I'm sure there's no shortage of misunderstandings within Microsoft about how the public (mainly developers I believe) view the brand.
e; library to build windows apps = WinJS
[0] - http://msdn.microsoft.com/en-us/library/windows/desktop/bb77...
It's Apache 2.0. If it's good right now, there is no reason whatsoever to not use it.
...and hopefully it will die the same kind of burning death.
Use HTML5. End of discussion. If Microsoft want to work hard to get their ideas into HTML5, then go for it. PLEASE. HTML5 could get better with their help.
Instead, we get this flaming pile.
The winjs page is just a bunch of buzzwords randomly strung together.
Disclaimer: I'm ex-msft.
WinJS looks like another soon-to-be-legacy wrapping framework. It doesn't use Shadow DOM, or allow developers to create new elements, which means that you end up with div-soup and important APIs and state that should be part of the view are in separate objects.
Because of this, WinJS will have a hard time interoperating with other wrapping frameworks like Angular, Ember, GWT, Ext-JS, etc.
Custom elements and Shadow DOM are hugely important for composable web applications. At this point, for SPAs, I wouldn't use anything that doesn't support them, even at the cost of IE8 support.
W3C custom elements allow the browser to still parse the document, and when it encounters a tag that has been registered with document.register() it calls user code to create construct element. By having the browser be in charge of parsing and element construction, custom elements work without a framework, and when you modify the DOM via things like innerHtml.
Approaches like Angular directives, and I'm guessing CanJS components, usually break down when the DOM is modified outside of certain blessed APIs.
Isn't XAML just HTML (declarative markup, with some default behavior, with most behavior defined through linked code in a more-traditional programming language) for the .NET stack?
So wouldn't XAML for the web just be HTML?
You seem to be misunderstanding.
Problem is that I am not sure if they made a full and good UI framework. How does it compare with something like Angular? Is this just animations on top of what can be done in js already?
http://i.imgur.com/fQFAv1R.png
Nice. For a crazy second I thought Microsoft devs were really insane or got hacked, before coming to the more likely conclusion that it's just random letters and I got lucky - if you can call it that.
It's even less likely to happen because only FF seems to be showing 4 letters instead of 15.
(Note: I refreshed to check the randomness theory before taking a screenshot, so the linked screenshot is actually forged with the inspector. But it looks just the same as it really did.)
I still think most of their stack sucks, but I am quite surprised with this new Microsoft. It'll be fun to compete against them again.
Jesus f Christ! 100% of people commenting here don't even fucking bother to read what the fuck WinJs is about before shooting off their mouth.
WinJS is at the core of Lightswitch development coupled with JQueryMobile.
I'm writing this on a brand new, never used, lenovo thinkpad loaner with windows 7 because my 3yr old macbookpro decided to die. (Took it to apple in NYC, they'll fix it and send it to me in Portland, OR.) I can't begin to describe the awful feeling I have knowing that I have to use windows for the next week. This laptop has already frozen twice while using outlook. It takes forever just to figure out which packages to install to manage mssql server. I'm installing something now and am not sure it's even the right thing. I've already had to reboot several times.
Everything Microsoft does is counter intuitive, user and developer hostile and proprietary in some fashion. Just take a look at the Download Center. It's as if a horde of product managers were released into a Microsoft hunger games and the ones with the most esoteric description and versioning/ marketing scheme came out alive.
How anybody would willingly invest time, money or resources on anything Microsoft related is beyond me.
/bias rant/
For instance, doing Python or Ruby or ROR on a windows machine? No way. I just started doing more MEAN (Mongo, Express, Angular, Node) stack stuff and after several days of cursing the heavens and trying to figure stuff out on my Windows 7 PC, I just said screw this and went to my box running Linux Mint and within 15 minutes was up, running and coding.
But it's because it's difficult for them to.
Yes Windows sucks, but MS does throw out good things once in awhile...
How does it compare with AngularJS? There might be some overlap but it is not a competitor. In fact, Microsoft uses AngularJS frequently on their sessions, documents, templates, etc.
http://channel9.msdn.com/events/build/2014?sort=sequential&d...
Edit: It seems like Microsoft is transforming WinJS into a general purpose JS library.
http://en.wikipedia.org/wiki/WebSQL
IndexedDB is fine for storing JSON objects, etc. but a relational database with SQL query syntax, indexes, etc. more powerful and means less code to write. With IndexedDB one has to reinvent the wheel to just get basic query features.
Instead we got a kickass asynchronous IO ordered map + secondary indices implementation, which is vastly simpler to describe and implement in a uniform fashion, on top of which one could easily write an SQL parser/planner, or simply use it as a blobstore for a cross-compiled SQLite binary, or whatever else.
(Funny how SQLite is about the only SQL implementation that would even be suitable for this. Same reason WebSQL was a bad idea.. it essentially required SQLite's exact semantics)
As SQLite is in public domain, no company would "loose their face" if they choose to use it. They could fork off SQLite and change the SQL query syntax (parser) to whatever the W3C finds suitable.
Mozilla Firefox and FirefoxOS both already ship SQLite for years and can be accessed by its internal JavaScript API. And several Microsoft products already use it anyway (e.g. Forza Xbox games). Microsoft has of course also various other SQL database libraries like MS Access JetRed (http://en.wikipedia.org/wiki/Extensible_Storage_Engine ), MS Outlook JetBlue (http://en.wikipedia.org/wiki/Extensible_Storage_Engine ) and MS SQL Server Express (http://en.wikipedia.org/wiki/SQL_Server_Express ) the SQL backend originally forked off for WinFS for Longhorn (Vista beta). It would be trivial for Microsoft to choose one of its many SQL engines and add it to IE 12. The same goes for Mozilla (just expose the API).
For some reason Oracle and Mozilla pushed IndexedDB. Oracle has conflicting interests, as it owns OracleDB(SQL), MySQL (SQL) and BerkeleyDB (NoSQL and now also SQL support, based on SQLite). Oracle is an official "sponsor" of SQLite development and even ships it as part of it's BerkeleyDB package: http://www.oracle.com/technetwork/database/database-technolo...
One can speculate that a less powerful HTML5 API translates in the long run to more SQL server licenses for Oracle and Microsoft. If the web app devs cannot do the processing & storage on the client side, one has to do it on the server side.
Anyway, I hope that we get a SQL API for HTML 5.x that also Mozilla and/or Microsoft implements. As of now WebSQL works fine in webkit based browser which includes Safari, Chrome, Opera and includes also 95% of all smart phones.
It'd be nice to have a real standard relational database API and supported functionality in browsers, but WebSQL wasn't ready to be it.
This(WinJS) is basically a library that wraps UI components in JS, CSS and HTML DOM.. its sugar for baked and easy to use UI components (in theory in any html rendering engine)
I think maybe in windows you have native bindings to windows-specific api's.. but whats is shipped here is only the UI + databindings, mvc voodoo for plain HTML5.. for aditional native api's exposed to the javascript engine, you will need something like node-webkit..
This use nodejs just to compile giving a minified js + css styles.. so it's more like bootstrap or ionic framework
Codeplex at least supports Git.