This is a good set of arguments explaining some challenging corners of AngularJS.
It is true that when you start getting into the realm of edge cases, substantial knowledge of the framework's internals is required to put together a solution that is consistent with the 'zen of Angular'.
The author argues that some of the challenges introduced by Angular's $apply lifecycle and its approach to two-way bindings make it a challenge to use in certain circumstances. I would rephrase that and say that Angular's state-tracking and two-way binding solution is a very elegant hack to a very complex problem, considering limitations imposed by javascript, css and html. Angular proposes a set of integrated solutions that allow developers to avoid a substantial amount of boilerplate (and complex boilerplate, at that) for synchronizing state and the view. As with every other framework, it is not appropriate for every problem.
That being said, I continue to use and love Angular in a complex app with quite a few moving parts. I migrated from Backbone.js about a year ago and never looked back.
For the vast majority of websites, this is true and I agree.
However, there are now websites that are more akin to applications than to the traditional website of yore and that are meaningless without Javascript. This is not a bad thing; it is just the opening up of the web platform to new opportunities.
Some of these emerging applications may want some of their content to be searchable and so I argue that the posted solution is solving a real problem and is of value to users.
Google has proven itself as a company capable of, and prepared to move into new markets and to diversify its portfolio of services. Twitter, on the other hand, has only diversified around the 140 character concept.
In my mind, it is diversification that allows a tech company to stay afloat when new entrants can have such a rapid impact on the market.
It is in no way conceivable to me that the 'trendy' means to communicate will still be in 140 character morsels 10 years from now.
You can actually do that in Plunker right now by having an `index.md` file instead of `index.html` [1].
In the absence of an html index, the plunker preview server will try transpiling to html from different languages. Markdown is currently supported.
Also transpiled are things like less, scss, coffee-script and more. Essentially, your html requests a file with the target suffix (e.g.: .css) and the preview server will search for compatible source files to transpile to that target.
This is a really cool and ambitious project. Although some mention ShareJS, I would say that the OT portion more closely resembles that employed by Firebase in their Firepad project [1] (in that no centralized server manages ordering and history). Actually, this system has many of the features of Firebase in a self-hosted package.
As a user of ShareJS (for the real-time collaboration on Plunker [2]), I can see some interesting benefits offered by TogetherJS; the system has cursor and presence features out of the box.
That being said, the main drawback that I see in TogetherJS is that it seems to be tightly coupled in a way that it is hard to take smaller parts of the overall system. It would be great if the P2P network system could be extracted and plugged into a node.js Stream interface. That would allow the code to plug into a whole ecosystem of interesting libraries [3].
I'm really excited by all the powerful libraries that Mozilla has been pumping out these days. The web is a great place to be.
Wow, thanks for reminding me of http://bootswatch.com! I just checked it out again after having not looked for a while and I'm impressed with the v3-targeted swatches.
I think that making claims on the changing capital market climate based on historical P/E ratios may be measuring the wrong thing. A declining trend in P/E ratios may suggest a decline in valuations but it also may suggest a change in capital structure. Or it may suggest a combination of the two.
It would be interesting to look at the trend for EBITDA multiples over time instead: https://cloudup.com/cHNL3Wcy5yH [1]. In this view, you can see that TEV/EBITDA ratios are very similar today to what they were in 1995 even though they took a very circuitous route to get there.
[ROM][LineSkipper v3.0.1][Now fixes crash bug when joining line behind Audi's]
Although perhaps ridiculous at face value, I wonder how automobile manufacturers and legislators will prevent modders from tweaking driving algorithms to win the prisoner's dilemma of traffic.
This is and will continue to be a challenge for the AngularJS team. While comprehensive, their documentation for complex things like directives seems more contributor-oriented than user-oriented.
Fortunately, the users on the Google group are very active and people like John Lindquist[1] are putting out insightful and approachable tutorials.
I think that one of the major issues faced by AngularJS from an adoption standpoint is that people see the simple examples on the front page and assume that, while powerful, it is best suited for toy apps. I'm not sure how to address this, but I've seen the perception repeated over and over by potential users who have done a 'surface check' and have then based their conclusion on an incomplete picture.
It is true that when you start getting into the realm of edge cases, substantial knowledge of the framework's internals is required to put together a solution that is consistent with the 'zen of Angular'.
The author argues that some of the challenges introduced by Angular's $apply lifecycle and its approach to two-way bindings make it a challenge to use in certain circumstances. I would rephrase that and say that Angular's state-tracking and two-way binding solution is a very elegant hack to a very complex problem, considering limitations imposed by javascript, css and html. Angular proposes a set of integrated solutions that allow developers to avoid a substantial amount of boilerplate (and complex boilerplate, at that) for synchronizing state and the view. As with every other framework, it is not appropriate for every problem.
That being said, I continue to use and love Angular in a complex app with quite a few moving parts. I migrated from Backbone.js about a year ago and never looked back.
/x-post from Reddit: http://www.reddit.com/r/javascript/comments/1pdzbz/things_th...