The rise of hybrid and a question by a Mac developer

Recently the great Mac app developer Brent Simmons posted on Twitter “Sometimes it looks like there are people *rooting* for the demise of native Mac apps. Why?”   This started a long thread from various other Mac/iOS developers, all giving their opinion on why this is. Some said it was because of the UIKit which is used to layout Mac apps and how slow it is compared to using web technology others said it was a skills issue. Easier to find JS/Web developers than Mac developers.

What stood out to me about this question, is not the answers, I really don’t know if the APIs used in Mac development is slower than web development or not, what I found interesting is that one of the leading Mac developers was asking why more people are interested in using web technology than native to build Mac/iOS apps.

This is the first time I’ve seen from the other side (hybrid vs native) it’s interesting to see that now native developers are seeing this rise in hybrid apps, or apps built using web technology as a concern. It shows that the growth of developing apps using HTML/CSS/JS is getting more prevalent and Mac app developers are starting to notice this new trend growing.

Does this mean that hybrid app development has won this ‘war’ on native vs hybrid, well no, because there probably isn’t a war between the two sides? It just means now there is another viable option to native development, which a lot of developers are now taking advantage of. Whether it’s because of the latest performance gains in web technology is making building apps with web tech a good option or there are more web developers moving over into app development as well as web development, who knows. One this is that now apps can be developed either the native way or the web way is a good thing. It’ll lead to more opportunities for developers, and better apps for users.

Slack doesn’t replace a forum

Or how Mike Harington from the Ionic team deserves an award.

The more and more that Slack gets popular, the more it is being used as a way of a team who runs a product to communicate with the users of their framework. While initially, a Slack channel is a great way to speak to the team behind the framework, it can soon become unmanageable and just a lot of noise.
The old fashion forum is still the best way for users to get the help they need.

For example, I’ve been on the Ionic Worldwide slack channel for a few years now. Originally it was just a UK based slack channel, but soon it was opened up to the rest of the world. More and more channels within the group started to open. Channels to ask technical questions, ionic questions, channels for different countries. It soon became a massive community.

I was in the slack group today and I was going through the ‘Technical Questions’ channel. In here people can ask questions about apps or the deploying of apps using the new features of Ionic Pro. In here you’ll usually find Mike Harington from the Ionic team. He’s so helpful, always trying to give help and advice to people who post questions.

But going through the questions being asked and how people are using the channel I do feel sorry for Mike. He’s trying to help and he keeps getting people mentioning him directly with their questions, or screenshots of errors posted by people who expect an immediate answer from Mike (I’m sure that helping on the slack is his full-time job).

It’s this demand for an immediate answer is what is wrong with Slack as a way of support. Some developers hit issues, then take a screenshot of the error message and throw it on Slack and then demand an answer almost straight away. They need to spend a bit of time understanding the problem, what is the error message actually saying? Could stepping away from the computer screen for a few minutes help you see the cause of the problem?

A forum allows the developer to write a clear description of the problem (well hopefully) which sometimes by writing out a description of the problem actually helps clear up what the problem is. It also allows others to get involved, Slack is more of a conversational thing than a forum.

While Slack is great for teams working on the same project to communicate, I don’t think it should be used as a way for a community to get support for their own projects.

So do Mike Harington a favour, when you have an issue with your Ionic app, go to the forums, search to see if others have had the same problem and then write a clear explanation of the issue. Then sit back and wait for the fantastic Ionic community to help.

Loving Webstorm again

I’ve recently gone back to using Webstorm for my Angular development. I know that Visual Code is very popular at the moment, just look at any conference talks everyone is using VSCode.

So why have I gone back to Webstorm, well I have used is before and really liked it, but the immediacy of VSCode was really impressive, so I had to give it a go. But the other day I watched a great video by Victor Savkin, who was a developer on the Angular framework and now has his own consultancy Nrwl. In this video he shows how he uses Webstorm.

In the video Victor shows how he customizes the look of Webstorm using the Material UI theme, which can be installed via the Plugins section in Webstorm. I decided to give this a go to see what it looks like, and it looks good.

 

One reason I really like Webstorm is the number of features it comes with by default. While other IDEs have loads of plugins, which WS does have. It comes with so many built in features for example:

  • Support for a wide number of frameworks including Angular, React, Ember and even Vue
  • The Navigation and search features are fantastic. Watch the part of Victor’s talk where he shows how he uses bookmarks to navigate around the actual Angular framework
  • It had built in debugging support so you can step into your code within Webstorm
  • The code quality tools it has like ESLinting, TSLinting and JSCS all built in
  • The plugins you can install to enhance WS even more

The main drawback of Webstorm is that it is a paid application, unlike VSCode which is free. But I don’t see it as a drawback, because with a paid application you know they are going to be around for a while and are committed to the application you rely on so much. Also being funded means that JetBrains, the people behind Webstorm, have their own in house dev team who work on new features for WB.

So while there are other IDEs out there some of them free, but I love using Webstorm again. Here are some links to the articles about Victor’s talk on using Webstorm for Angular

  • Make Webstorm Better with these customisations
  • Using Webstorm for Building Angular Apps

Software I use

  Recently as part of the 30wdc Darren Beale wrote about his essential software I thought as part of my post for today I’d list the software I use everyday.

  • Webstorm – I use to be a sublime text fan, but recently ST has stopped progressing, version 3 seems to have been in beta for years. So I have switched to Webstorm and in my opinion I think it is the best JavaScript editor there is. It has support for Ionic, Angular 1 and 2, TypeScript, ES6 and Node. The support and innovation that the Jetbrains team put behind Webstorm is fantastic.
  • Todoist, I’ve used other task apps like Wunderlist, Any.do and Trello, but for me Todoist is my favourite todo app. I’m currently trying to use GTD and Todoist can really support GTD. I have been watching a lot of Carl Pullein’s YouTube channel all about using Todoist for GTD (his channel is well worth checking out)
  • Evernote, this is where all my notes, ideas and business ideas go. Being able to record everything in your brain into one app that you can access from anywhere is great. I’m a big Evernote fan.
  • DeskPM, is the tool I use to write my blog posts. It’s been created by indie dev John Saddington. It links to multiple blogs, WordPress, Blogger and Medium. Has a full screen mode so you can just concentrate on writing, it’s a great app.

So these are the main apps I’m using right now.