background preloader

Opinions

Facebook Twitter

Why we chose Vue.js. Native Apps are Doomed – JavaScript Scene – Medium. From now on, I won’t be building any more native apps. All my apps going forward will be progressive web apps. Progressive web apps are web applications which are designed to work even more seamlessly on mobile devices than native mobile apps. What do I mean by “more seamlessly?” I mean that most web traffic comes from mobile devices, and that users install between 0–3 new apps per month, on average. Progressive web applications start out just like any other web app, but when a user returns to the app and demonstrates through usage that they’re interested in using the app more regularly, browsers will invite the user to install the app to their home screens.

This is where it gets interesting. This has been a long time coming. Some History In the early days of the iPhone, there was no app store. Sometimes visionaries are spot on, but they’re 10 years ahead of their time. What Are Progressive Web Apps? Progressive web apps are just web applications designed to be mobile friendly. Testing. Retiring Python as a Teaching Language. For the last ten years, my standard advice to someone looking for a programming language to teach beginners has been start with Python. And now I'm changing that recommendation. Python is still a fine language. It lets you focus on problem solving and not the architectural stuff that experienced developers, who've forgotten what it's like to an absolute beginner, think is important. The language itself melts into the background, so lessons aren't explanations of features and philosophies, but about how to generate musical scales in any key, computing distances around a running track based on the lane you're in, or writing an automated player for poker or Yahtzee.

Then one day a student will innocently ask "Instead of running the poker simulator from the command line, how can I put it in a window with a button to deal the next hand? " This is a tough question in a difficult-to-explain way. A week later, another question: "How can I write a simple game, one with graphics? " Um. State of the Art JavaScript in 2016 – JavaScript and Opinions – Medium. The State Of JavaScript Developer Survey. Designing a Web App @ 2016 by Alain Galvan on CodePen. Making web apps has gotten pretty complicated, it seems every language and company wants to come up with their own way of doing it! Deep down all we're doing is serving html, css, and javascript to a user, but there's a lot to bear in mind: New Language Features - like modules, generators, decarators, promises, async/await, etc.Legacy Suport (polyfills, shims, vendor prefixes) for JavaScriptBackend Programming - Writing a server in JavaScript, Python, Go, C++, you name it.Automation - streaming tasks like compiling our apps and compressing our images and making icon fonts.

Deploying your app with services like Docker, AWS, DigitalOcean, etc.Dev Ops - load balancing your app, working with microservices and a polyglot architecture.Testing - unit testing your app, linting, type checking, etc. Frankly, it can be overwelming, there's no way you'll know how every part works, but to quote Brenna O'Brien it's better to just "be aware" of these technologies and focus on what you love. Javascript. The Deep Roots of Javascript Fatigue. I recently jumped back into frontend development for the first time in months, and I was immediately struck by one thing: everything had changed. When I was more active in the frontend community, the changes seemed minor. We’d occasionally make switches in packaging (RequireJS → Browserify), or frameworks (Backbone → Components).

And sometimes we’d take advantage of new Node/v8 features. But for the most part, the updates were all incremental. It’s only after taking a step back and then getting back into it that I realized how much Javascript fatigue there really is. Years ago, a friend and I discussed choosing the ‘right’ module system for his company. We talked again last night, and he said that he’d chosen RequireJS. But that got me thinking, with all the Javascript churn there’s really no right horse to bet on. Like it or not, Javascript is evolving at a faster rate than any widespread language in the history of computing. So, why does Javascript change so much? A long strange journey. Scaling On The Cheap — Startups, Wanderlust, and Life Hacking. Scaling On The Cheap “Planning is bringing the future into the present so you can do something about it now” — Alan Lakein I’m going to take a break from my Tech Hiring and Team Building series to write a more technical article. I co-founded a company called June.

We had no investors. Start on the right track “It does not take much strength to do things, but it requires a great deal of strength to decide what to do” — Elbert Hubbard When you start something new, there’s nothing bad, no cruft, nothing you need to explain away or be embarrassed about. The first commandment Never render HTML to be delivered to a web browser on the server on an individual request basis.

Our server has 2 parts: the static side and the API side. It’s worth noting that “on an individual request basis” does give you a bit of flexibility. The static site Our static site is pure, vanilla HTML/CSS (with a few embedded script tags, etc that I’m glossing over here). The API server Out of the dark ages Collecting dividends. Why I’m not staking my future on MeteorJS. Why I’m not staking my future on MeteorJS. TLDR: After about 3 weeks of using Meteor seriously (8 hours a day), I decided that, despite its benefits, it would be shortsighted, and perhaps lethal, for my organization to use Meteor.

Meteor may be right for you, but it isn’t for me. This is the article I wish I’d read before investing a month on it. Want to convince me otherwise? Please make a compelling counter case. Update 10/22: While I haven’t reviewed the source code or tried it myself, Cluster looks to be a great package for scaling Meteor, including web sockets. Last summer, after hearing much hype about Meteor, the self-proclaimed JavaScript app platform, I decided to give it a shot. At first, I did the “Hello World” stuff, and shortly thereafter built a simple multiple choice quiz app with an admin for questions and a UI for taking the tests. Now that I have some time with Meteor under my belt, I felt it appropriate to share what my development experience has been like.

Alternatives. jQuery considered harmful. Heh, I always wanted to do one of those “X considered harmful” posts*. Before I start, let me say that I think jQuery has helped tremendously to move the Web forward. It gave developers power to do things that were previously unthinkable, and pushed the browser manufacturers to implement these things natively (without jQuery we probably wouldn’t have document.querySelectorAll now). And jQuery is still needed for those that cannot depend on the goodies we have today and have to support relics of the past like IE8 or worse.

However, as much as I feel for these poor souls, they are the minority. There are tons of developers that don’t need to support old browsers with a tiny market share. And let’s not forget those who aren’t even Web professionals: Students and researchers not only don’t need to support old browsers, but can often get by just supporting a single browser! Yes, you probably don’t really need it… …but that’s not even the biggest reason not to use it today. No more JS frameworks. No more JS frameworks Stop writing Javascript frameworks. Translations: Japanese JavaScript frameworks seem like death and taxes; inevitable and unavoidable. I'm sure that if I could be a fly on that wall every time someone started a new web project, the very first question they'd ask is, which JS framework are we using? That's how ingrained the role of JS frameworks are in the industry today. But that's not the way it needs to be, and actually, it needs to stop. Let's back up and see how we got here.

Angular and Backbone and Ember, oh my. For a long time the web platform, the technology stack most succinctly described as HTML+CSS+JS, was, for lack of a better term, a disaster. For a long time there was a whole lot of inconsistency between browsers and we, as an industry, had to write frameworks to paper over them. But something else has happened over the past ten years; browsers got better.

I think it's time to rethink the model of JS frameworks. So why are we still writing JS frameworks? You have ruined javascript. In the old days In the old days we had some really awful JS being written on pages in a pretty ad-hoc fashion and it caused us huge problems. Presumably most people still do this but they're the same people who aren't reading this blog post so we can pretend they don't exist unless we end up consulting at their companies and oh god oh god please no not that.

The great/awesome/amazing thing about JS is that nobody wanted to go near it and in enterprise organisations they just wanted to stay in their safe little world of well organised layers of abstraction ordered by factory and XML super injection frameworks. That was great for people like me who wanted to get paid enterprise rates but didn't want to have to put up with layers of awful "best practises" and performance problems that came from the irrational fear of letting anybody who wasn't a DBA touch the database.

We've hit peak JS You ruined it Angular.js: service vs provider vs factory? Wow! What the actual fuck is this? Whaaaaaaat? No. Why you should not use AngularJs. Why you should not use AngularJS Much time has passed since AngularJS birth (given the fact how fast front-technologies evolve). Now on the internet, there are a huge amount of posts praising this framework, and the critics are not so many as it deserves. But such posts are slowly beginning to appear, and it pleases me. I hope industry will give up AngularJS, as it gave up MooTools, Prototype, %some new JVM language%, %another-super-modern-technology%. Angular creates a good “wow-effect”, when you see it for the first time: “wow, I wrote ng-repeat, and implemented this logic only with tags, and it updates by itself!” Two-way data-binding There is a fundamental rule in programming, it says that explicit is always better that implicit.

Also two way data-binding means that changing anything in your application will trigger hundreds of functions that monitor changes. There is another point, sometimes you need two way data-binding, but UI is already slow. Dependency Injection or this Debugging. The State of JavaScript in 2015 - Jimmy Breck-McKye. The JavaScript world seems to be entering a crisis of churn rate. Frameworks and technologies are being pushed out and burned through at an unsustainable speed. But I think the community will adapt and adopt new practices in response. Developers will move, I believe, from monolithic frameworks like Angular.js and Ember to a ‘pick n mix’ of small, dedicated libraries to mitigate the risk of churn and to allow solutions to different concerns to compete separately. Obviously, this post has big red ‘opinion’ stickers over it. But hear me out. Churn At the close of 2014, it’s difficult as a JavaScript developer to back a particular library or technology with confidence. Let me explain.

In case you haven’t been paying much attention to the <ng-community>, October saw the 2014 ng-europe conference, where the Angular developer team revealed significant updates about the roadmap for Angular 2.0. Understandably, this has upset a lot of people. Is this pace of change sustainable? It’s not hopeless.