Learn Cordova.
If you had to start over, what technologies would you learn in 2014?
21–30 of 182 posts
Re: If you had to start over, what technologies would you learn in 2014?
#22Folks, the big point of this article is not that Hanselman likes C#, it's that his list of options does not include Objective-C or Java. It's that he thinks that the web will win (over app stores). I strongly believe that he's right there. At some point, app stores had "discoverability" as an advantage over the web. This has been one of the strongholds of native app proponents. These days however, with the enormous a…
I don't think it's just discoverability though. I think the main question is if mobile web applications will be able to match native on both quality and performance. Facebook attempted this and failed badly, but that doesn't mean it can't happen or that native will always have an edge. If native does continue to have an edge though then I think web has an uphill battle.
In many ways it still is - it requires too many permissions and the list is growing. Recently they're asking for access to my SMS messages and in Android 4.3 I had a bug with my Nexus 4 in regards to location services as the Wifi-network provider was draining my battery and so I had to disable it, so Facebook's app was still requiring it, activating the GPS on each opening of the app and there was no way to turn that off, unless I turned the GPS off globally. Granted this is also a failure of Android's permissions system, but ...
The mobile web interface was and is still there. It doesn't matter if the mobile platform is new or old, it doesn't matter if Facebook's app was developed (and approved) for that platform, the web interface is there and it works, the only requirement being for the user to have a decent JS-enabled browser.
People view Facebook's investment in their mobile web interface as a failure. I view it as competitive advantage.
Re: If you had to start over, what technologies would you learn in 2014?
#23Cordova is the future and the future belongs to those who prepare for it today. Learn Cordova.
Re: If you had to start over, what technologies would you learn in 2014?
#24Folks, the big point of this article is not that Hanselman likes C#, it's that his list of options does not include Objective-C or Java. It's that he thinks that the web will win (over app stores). I strongly believe that he's right there. At some point, app stores had "discoverability" as an advantage over the web. This has been one of the strongholds of native app proponents. These days however, with the enormous a…
> hide the difference between apps and web apps Frankly, this is only possible by web apps not being web apps. Do you have any experience working with eiterh native SDK? Because I cannot imagine any one having experience (not just cursory hello-world glance) thinking that web apps are somehow superrior. I also don't get how web apps are better (or will be better) discoveralbility-wise. Or why it matters.
I'm not sure I agree with that, though it might never happen because the owners of the major platforms have absolutely no interest in being turned into a dumb foundation by the web (or a badly debugged set of device drivers, as Andreesen put it in 1995). The reasons for the ascendance of mobile are political and corporate though, not technical. There's little reason webkit performance cannot approach that of native, particularly if it used something like nacl rather than js, and no reason APIs cannot be exposed to web apps too (Apple exposes quite a few).
Web apps are currently superior in: deployment,future-proofing, IMO discoverability, platform independence, and most importantly cost
Native apps are currently superior in: performance, accessible APIs, 3D
Their relative strengths will change over time, but note that performance is not usually an insurmountable obstacle, while some of those areas where the web has strengths are inimical to the way Google, Apple, MS or Amazon want to do business - for corporations to tie in their customer as tightly as possible to their ecosystem and tightly control what is available to them (as Apple have for example banned kindle selling on their platform) is the best possible outcome. App stores are broken by design, just as the MS desktop monopoly was, and I don't think they will be able to surmount those problems, because they are fundamentally user-hostile. Why can't I buy kindle books on my ipad? Because Apple wants to make money from that transaction.
The web has other problems, among them a worse is better approach in many areas, but I think it's ultimately going to prevail over other solutions bound to a specific hardware/software stack.
Re: If you had to start over, what technologies would you learn in 2014?
#25Re: If you had to start over, what technologies would you learn in 2014?
#26Re: If you had to start over, what technologies would you learn in 2014?
#27I'd actually recommend a slight variation on the C# javascript combo - Typescript instead. There are all sorts of tools coming out that allow you to generate Typescript interfaces from your C# giving you really nice compile time safety through your entire stack. If you're writing C# then Typescript feels more natural, especially in Visual Studio it removes much of the painful context switching between a typed intelli…
I liked the idea of typescript but after frustration from fundamental issues I was very happy to bin it. i) Wrapper libraries - Sure you can download them from definitelytyped but in practice I quickly found all sort of incompatibilities and things not working when used on real versions of the wrapped libraries. I had to edit them based on suggestions from forums. They are unversioned community efforts - poor version…
There are some pain points to be sure (modules, generics that don't quite work), but:
- Emits known good javascript patterns, preventing javascript's typical '50 ways of doing something'.
- Interacts cleanly and nicely with the existing javascript ecosystem.
- The emitted javascript runs on old browsers, and is only marginally bigger than the source code, smaller sometimes, if you use interfaces
- Clean module system (a little irritating to use perhaps, but still) supporting AMD and CommonJS (this is absolutely the future for JS dependencies).
- Open source, installable compiler using npm.
What's the alternative?
- native JS
I cant say I'm any hurry to add C# into the mix, but typescript has impressed me thus far, despite being from Microsoft.Re: If you had to start over, what technologies would you learn in 2014?
#28It depends on your goals. If your goal is to do a startup, then the obvious choice is to really master an entire web stack. For instance linux / nginx / python / html / css / javascript. If you want to do research in computer graphics, then you better learn OpenGL and C++ or .NET. Want to work in embedded systems? C. Scott's recommendation of C# & Javascript is a solid and pragmatic choice, good for those looking for…
Re: If you had to start over, what technologies would you learn in 2014?
#29AngularJS is great. Web Components are better I think though.
Docker has redefined devops in my opinion http://docker.io
GLSL is very cool and something you can even experiment with in your browser using Three.js etc. I believe that real time ray tracing is going to be a thing within a few years http://www.youtube.com/watch?v=abqAanC2NZs http://www.youtube.com/watch?v=V5Y06xkRWio
CoreOS looks very interesting.
WebRTC is a technology that could almost make an industry irrelevant. http://simplewebrtc.com/
Understanding APIs around bitcoin and cryptocurrency in general seems important.
I believe that the internet is eventually going to be switching away from normal named server structures to a content-oriented architecture. http://en.wikipedia.org/wiki/Named_data_networking There are a lot of ways this category of architecture is actually currently being deployed behind the scenes, for example CDNs or bittorrent. I believe that we are going to start using that type of system more and more and eventually we will lose things like the HTTP layer. This may be combined with some of the technologies related to cryptocurrency.
For an example of why we are moving to named data networking, take a look at well.. just about any web application that wants to scale. For example the npm registry. Also consider the issues around privacy with Facebook and the NSA, and the ability for governments to censor or take down web sites or domains.
So any technologies that facilitate things like that, such as more traditional clustered SQL or NoSQL tools, or especially protocols and systems specifically designed for named data networking, will be very powerful. I like the idea of heterogeneous peer nodes that have everything they need built in and can connect to the network on their own.
Another area that is really going to be key is artificial general intelligence. Notice I did not say machine learning. I think look at taking advantage of built deep learning systems like the one IBM has with Watson. Or look for deep learning, autoencoders, hierarchical hidden markov models, hierarchical temporal memory. But most practically for the next few years IBM and Google's (when Google releases it) cloud AIs are going to be game changing for many industries and harnessing them in software will be very useful.
Qualcomm/Brain Corporation and some others also have some neuromorphic chip technologies that could be extremely useful.
Any system that really takes advantage of next gen VR devices like Oculus Rift is going to be interesting.
Re: If you had to start over, what technologies would you learn in 2014?
#30Python - I believe it's the language of the now and the near future.