@amx
Nothing here yet.
Nothing here yet.
No blogs yet.
None, the web has always been (or at least intended to be) backwards-compatible, if you disable concatenation (for ex.), your HTTP1 users will suffer. OTOH, techniques like ES6 modules won't take advantage of HTTP2 if you implement them incorrectly, there is a reason why they aren't supported by browsers yet. https://www.nczonline.net/blog/2016/04/es6-module-loading-more-complicated-than-you-think/
Remember that there was a time where webpages used badges like these ones as a way to say "sorry, the other browsers suck, download my favorite one or get screwed": So your assertion is wrong, it is not Safari, but Chrome the browser that is becoming the new IE6: Believe it or not, Internet Explorer was considered the best browser almost 2 decades ago, Netscape eventually died due to the mindset that IE6 gained, and almost a decade ago many people were using an abandoned and outdated browser, the lack of competition caused stagnation. This is what is happening with Chrome right now, browsers like Opera ditched their engine in order to use Blink[1] (the engine used by Chrome), even Internet Explorer (now Edge) considered using Blink[2], and Firefox started using it in their UI/UX experiments[3]. Every time we are favoring Chrome the same way we favored IE 6, we are repeating the mistakes from 2 decades ago. I know it is frustrating when browsers become slow at catching up, but if we neglect the other browsers, we're maligning the future of the web by causing disasters like a mobile web reliant in webkit-prefixed properties[4]. Although to be honest, we're in heaven in comparison with the days where IE 6 was the dominant browser after the death of Netscape. Right now it is an order of magnitude easier to apply techniques like Progressive Enhancement or at the very least Graceful Degradation[5], so you should relax your requirements, the world won't end if you don't use the latest CSS for your next project. [1] https://dev.opera.com/blog/a-first-peek-at-opera-15-for-computers/ [2] https://blogs.windows.com/msedgedev/2015/02/26/a-break-from-the-past-the-birth-of-microsofts-new-web-rendering-engine/ [3] https://medium.com/project-tofino/browsers-innovators-dilemma-and-project-tofino-ef634c6164f0 [4] https://compat.spec.whatwg.org/ [5] https://www.w3.org/wiki/Graceful_degradation_versus_progressive_enhancement
I'd personally invest time in NativeScript, not because of Angular2, but because NativeScript was designed to work with vanilla JavaScript out-of-the-box, unlike React Native which has a dependency on react.js. This means that after the initial learning curve of NativeScript, you won't have to ditch your previous knowledge whenever Angular or React get declared obsolete by the community, and people start migrating to "the next cool framework". Some years ago, most of us took jQuery for granted. Other advantage of NS is the automatic availability of new APIs (ex. iOS 10, or Android N), so you won't have to wait until NS gets updated to take advantage of the new APIs. Also, I read some claims that "React Native has a longer story than NativeScript", I don't know in which parallel universe did that happen, but NativeScript was released 6 months before the announcement of React Native. [1][2] [1] http://www.telerik.com/blogs/announcing-nativescript---cross-platform-framework-for-building-native-mobile-applications [2] https://www.youtube.com/watch?v=KVZ-P-ZI6W4
The answer is always "it depends". If you care about paid support and having the most features, Magento is probably for you, but you compromise in extensibility, since the learning curve for development is steep. Magento also has the reputation of being slow. On the other side, if you can compromise on features in order to gain development speed, OpenCart is the best choice, the project was refactored recently, so most of the codebase is clean and consistent. Finally, if you prefer a middle ground (ie. a not-so-steep learning curve for development, a bigger set of features than OpenCart and better performance than Magento), PrestaShop is what you should explore. At the end of the day, you can't just "learn an e-commerce framework", you should pick the tool which helps you better with your particular needs.
I didn't see the option for CDN (or Server Relocation). It doesn't matter whether or not you use techniques like Caching and Minification, if the ping between your server and your clients exceeds 250ms, your users will perceive slowness, and it is absolutely easy to reach those pings with a Mobile connection. So the first option should be to pick a server at the nearest location from the majority of your users, or pick a CDN which covers where most of your audience is located, most CDNs also offer caching and minification with their most basic plan. After having a CDN sorted out, the next option is Caching, especially if you do more READ than WRITE requests, most of the advantages of Caching are perceived when you get peaks of traffic, so rather than improving the experience of a specific user, you are improving the experience of all your users as a whole. If you do more WRITE than READ requests, you should probably start exploring distributed databases. The use of modern CSS and markup should be your last resort with existing projects, since that means to refactor them, but it should be your first option with new projects, since you get client-side optimizations for free just by writing modern code. Also, the use of ASYNC/DEFER statements depends solely on your project, for ex. you may depend on an external API like Google Maps, so wouldn't be able to use ASYNC, and the same rule as before applies: It should be your first option with new projects, but your last resort with old projects, unless you know in advance that a non-critical script like Facebook's Share Button is slowing down your website.
Lua is the preferred language to add scripting into games, there are even game engines like Corona or Love2D which work exclusively with Lua. Personally, I dislike some portions of the language (ex. the standard library forcing you to use arrays initialized at 1), or how easy you can break block comments with nested arrays. In my personal projects I tend to favor Duktape , which is a lightweight JavaScript Engine meant for embedding (the same use-case as Lua), but people who love Lua usually hate JavaScript passionately :P
You should focus in PHP 7.0, PHP 5.5 stopped receiving support the last week, and PHP 5.6 will stop getting active support at the end of this year , so it's not worth the trouble to learn them. Although I hadn't seen or heard about a good resource "from zero to PHP 7.0", the most I can recommend you is the Modern PHP book, but it assumes the reader has some familiarity with pre-5.4 PHP (ie. non-modern PHP). Although it is still a suggested read when you become acquainted with the language, since it introduces you to the Composer ecosystem, the PHP-FIG Standards , the PHP Right Way , and some other gems of information. EDIT: I did a quick search, these books seem like the most sensible choice right now: Learning PHP by David Sklar Learning PHP 7 by Antonio Lopez I just skimmed through the table of contents of them, the first one looks more focused in starting from zero, the second one looks more focused in creating CRUD applications, which is the most common kind of application in the PHP world, since I hadn't read them, I can't give a recommendation, but I would suggest to read both of them, the Sklar's one first.
Sorry to burst your bubble, but a NAS is also a server (albeit a really small one), so no matter how many protection layers you have, as long as it has a public-facing IP, it belongs to "the cloud" :) Although to be fair, the chances of getting a data breach with your setup are close to zero, since well-known attack vectors are effectively mitigated.
Passwords are stored in a local file (cloud is evil...) Except that you will end up storing the file in the cloud whenever you need to sync several devices unless you go the extra mile and manually sync them every time you add an account or change a password... Remember that "the cloud" is just marketing jargon for servers.