News for hackers. Stuff that matters.
Re:The State of Desktop Applications in Node.js by mid-kid on Wednesday December 10, 2014 @11:37AM (#8730019)
The web wasn't made to be used as a desktop app replacement, and it will never be. Quit trying to make it that way, and start using a widget toolkit like you should. Hell, if you love html/js so much, there's a big chance you won't dislike QML. The web is for sharing content, not for games, text editors, and all that stuff. I see google trying to blur the lines between that, but why is it necessary? Just because people are too lazy to adapt themselves to the platform they're writing for, and allow them to create slow, shitty "web apps"?
Re:The State of Desktop Applications in Node.js by jekrb on Wednesday December 10, 2014 @12:09PM (#8730246)
|slow, shitty "web apps"

Ah yes, nothing is better than waiting 5 minutes for the native Facebook iPhone app to boot up. But seriously, I've mostly switched from facebook to ello just because ello as a web app is faster than facebook as a mobile app.

Not all web apps are slow and not all native apps are fast. It's up to the developers to handle that, not the platform.

I see a lot of benefits of building and using web apps over native ones.

As a developer I can really focus on using the browser as my runtime. Meaning my app will, for the most part, run on most devices. It's also easier to maintain. If I need push a patch or update, I just edit some javascript.

As a user, I know that when I switch from device to device I won't need to go through an install process. All I need is a url.

Why can't the web be for games or text editors? Some of the most useful text editors I've used are on the web. What about WebRTC? Should we still all be using the Skype desktop app instead?

I would probably say that it's lazier not to make your app work well on the web.

Re:The State of Desktop Applications in Node.js by gagege on Wednesday December 10, 2014 @01:30PM (#8730778)
"5 minutes"? Even if you had said "10 seconds", there's something wrong with your phone. Facebook on my Moto G starts up in under 2 seconds. Same with most other apps.

Besides, I'd rather have an app that takes a little longer to start up, but performs well, than an app that first requires starting a web browser and then on top of that has an interface that runs like a snail.

Re:The State of Desktop Applications in Node.js by organsnyder on Wednesday December 10, 2014 @01:44PM (#8730857)
Facebook sometimes takes at least 10 seconds to launch on my Nexus 5. While it's loading, all I see is a white screen. This happened both before and after upgrading to Lollipop. I'm running stock unrooted Android, and I don't notice issues with any other apps.
Re:The State of Desktop Applications in Node.js by jekrb on Wednesday December 10, 2014 @01:51PM (#8730893)
iPhone 4? Maybe there is something wrong with my phone, but my friends experience the same problem, so I'm assuming it's the app/platform combination. It also frequently crashes on start up.

Also, even if it is the phone, that's still an issue with native apps. The fb web app loads faster (still not great, but faster) than the iOS app boots up.

Re:The State of Desktop Applications in Node.js by blub on Thursday December 11, 2014 @04:56AM (#8733994)
As a developer there might be some benefits, but as a user I am firmly agains web apps for most classes of webapps (let's say except mail or cloudy stuff).

First of all, webapps almost always screw something up in the UI. If they're wrapped in a native container maybe they scroll differently, they don't respond to some gestures, are missing some menu entires or make other small mistakes. Depending on the user this can be mildly annoying or just strange for them.

Secondly, web apps make customers dependent on something they have no control of. That cool startup might close shop tomorrow and if you're lucky they'll give you one week to export your data. The company might decide to pivot or charge more or a myriad other possibilities and the customer has no choice but to either cancel the service or deal with it. I can give you an example of many iOS users that are still on 7 because some apps were broken by the update - they can do that with apps and we're talking about iOS here, desktop is even more flexible.

Thirdly, speed. Ironically, Facebook themselves admitted that they made a huge mistake by using webviews because this made their app incredibly slow. Your case is almost impossible to believe, and indicates that something is completely broken in your software configuration. In most cases a native app will outperform a web app, from the UI speed (scrolling, panning, drag & drop, viewing documents) to performing various tasks. It's quite logical, as a native app has direct access to all APIs, while a webapp has to go through N intermediate layers.

Re:The State of Desktop Applications in Node.js by danneu on Wednesday December 10, 2014 @04:45PM (#8731908)

    > Ah yes, nothing is better than waiting 5 minutes for the native
    > Facebook iPhone app to boot up. But seriously, I've mostly 
    > switched from facebook to ello just because ello as a web app is 
    > faster than facebook as a mobile app.
Then you should check out `about:blank`, a social network similar to ello but even faster.
Re:The State of Desktop Applications in Node.js by Iftheshoefits on Wednesday December 10, 2014 @12:11PM (#8730258)
The hype around HTML/JS as a substitute or replacement for native development has little to do with developer laziness and more to do with commoditizing software development labor.

Native is hard relative to (the nearly thoughtless) slapping together of JS and CSS frameworks to "build" an "app." It requires paying people more and taking more time to develop.

Re:The State of Desktop Applications in Node.js by pjmlp on Wednesday December 10, 2014 @01:28PM (#8730762)
I have lots of UI toolkits under my belt since the mid-80's, been doing web development on and off since the .com days.

When compared with RAD tooling like Delphi or XAML, HTML/CSS/JS is anything but easy.

Re:The State of Desktop Applications in Node.js by gagege on Wednesday December 10, 2014 @01:33PM (#8730795)
Even WinForms is a breeze compared to all the quirks of the web.
Re:The State of Desktop Applications in Node.js by organsnyder on Wednesday December 10, 2014 @01:48PM (#8730879)
Web becomes a lot easier when you limit your target platforms. If you're shipping a thin browser-based shell around a web app and you know that you need to target Android 2.0+, iOS 6+, and Windows Phone 7, then you already know that you can eliminate many rendering engines (Firefox, Opera) as well as some of the old browser versions (IE < 10) that are usually the most problematic.
Re:The State of Desktop Applications in Node.js by pjmlp on Wednesday December 10, 2014 @02:26PM (#8731124)
Try to explain to customers holding payments, why the web page looks different across multiple handsets using the same browser.
Re:The State of Desktop Applications in Node.js by smacktoward on Wednesday December 10, 2014 @02:29PM (#8731152)
You make it sound like there's no benefit to programmers to consolidating around a single platform. But there are several:

- It removes the risk of spending time and money learning what turns out to be the "wrong" (i.e. an unsuccessful) platform

- It avoids splitting the effort of tooling vendors, library authors, etc. across many different platforms, reducing the amount of redundant effort spent reimplementing things in platform Y that already exist in platform X and freeing them up to work on unique ideas instead

- It brings the largest possible number of people underneath one umbrella, which makes that community more economically attractive and therefore increases the number and quality of tools and services they have access to

Not that it's all sunshine and roses, of course, but it's not without advantages.

Re:The State of Desktop Applications in Node.js by Iftheshoefits on Wednesday December 10, 2014 @03:28PM (#8731476)
All of your points apply to webdev. They just take a different form, and frequently are masked by mistaking the ease with which trivial apps can be developed by mixing a few canned frameworks together for reduced complexity.
Re:The State of Desktop Applications in Node.js by pjmlp on Thursday December 11, 2014 @02:41AM (#8733661)
You can have all of that without a CSS/HTML/JavaScript Frankenstein.
Re:The State of Desktop Applications in Node.js by jekrb on Wednesday December 10, 2014 @02:07PM (#8730996)
Which is also a problem for web. Compared to writing native apps you can get away with much more. You can be asked to help in projects where css like this was already written: #updates > span > table > tbody > tr > td > span

People who have never heard of specificity or modularity start writing code that will run on thousands of browsers, and in turn those users experience a slower web.

The other side of that mess is when developers with more experience thoroughly plan out the architecture of the web app, to ensure it operates on a performance budget and the user experience stays positive. Just as native apps, this also requires paying people more and taking more time to develop.

Re:The State of Desktop Applications in Node.js by dshaw7 on Wednesday December 10, 2014 @02:12PM (#8731025)
Commoditization is one aspect and that may be the case in some situations.

Having helped many organizations understand how to build JavaScript applications across a bunch of different platforms, from my experience what they are trying to do is improve their ability to iterate and remain responsive to user needs across all the devices users want to interact with.

As a user, I expect and prioritize applications and experiences that are available to me wherever I choose to use the service. Web stack tech is facilitating this.

Re:The State of Desktop Applications in Node.js by bpizzi on Wednesday December 10, 2014 @11:57AM (#8730157)
> The web is for sharing content, not for games, text editors, and all that stuff. I see google trying to blur the lines between that, but why is it necessary?

Because innovation happens when you start thinking out of the box?

Re:The State of Desktop Applications in Node.js by Iftheshoefits on Wednesday December 10, 2014 @12:40PM (#8730466)
Innovation can happen when you start thinking out of the box. That doesn't mean it does happen. I don't find much about "webdev" to be terribly innovative. In many ways it is a large step backwards or sideways.
Re:The State of Desktop Applications in Node.js by organsnyder on Wednesday December 10, 2014 @01:55PM (#8730918)
I agree that from a technology standpoint, the web development field is absolutely atrocious—at all levels. On the server side, broken languages control vast swaths of marketshare, and the client side has plenty of its own issues.

From the user's perspective, however, there's been a ton of innovation, and they (usually) don't know/care that most applications are built on houses of cards.

Re:The State of Desktop Applications in Node.js by mattkrea on Wednesday December 10, 2014 @08:24PM (#8732705)
Out of curiosity what broken languages in particular are you referring to? I'm also somewhat curious at to what language(s) you use.
Re:The State of Desktop Applications in Node.js by organsnyder on Thursday December 11, 2014 @09:28AM (#8734851)
I really should have made that singular—I was referring to PHP.

Historically, my language of choice for the server-side has been Java (I interned at an IBM lab that was involved in the creation of Eclipse, so I used it a lot at the start of my career). More recently, I've been dabbling in Ruby, and I'd also like to give Scala and Go a try.

Re:The State of Desktop Applications in Node.js by chcokr on Wednesday December 10, 2014 @12:03PM (#8730198)
This. Plus, sure, WWW was probably meant for sharing content, but HTML/JS is a front-end standard not necessarily tied with WWW.
Re:The State of Desktop Applications in Node.js by organsnyder on Wednesday December 10, 2014 @01:52PM (#8730900)
More specifically, innovation happens when innovators push the limits of existing technologies (even if they're bad or not intended for that use) rather than waiting for the platform to catch up.

For most of its history, HTML has been codifying usage rather than prescribing it. The one major exception—XHTML—was never widely adopted, partly for this reason.

Re:The State of Desktop Applications in Node.js by depr on Wednesday December 10, 2014 @11:43AM (#8730046)
Also, if you're making a desktop app you don't have to use HTML/JS, why on earth would you use those if you don't absolutely have to?
Re:The State of Desktop Applications in Node.js by rdtsc on Wednesday December 10, 2014 @11:54AM (#8730134)
Regardless of my personal view of JS desktop apps the reasoning usually follows out of a combination of these:

* Web browsers already have a way of creating widgets rendering them, changing their skins

* There are many javascript libraries and frameworks, so can use those for connecting backends, processing events, etc.

* With a bit of luck you can run the same code as an actual web page.

* Desktop app is an after-thought today because web service/web page came first. The world of software applications with a GUI on top started with Desktop apps that were then adapted for the web. Today perhaps the opposite is true.

Re:The State of Desktop Applications in Node.js by dnissley on Wednesday December 10, 2014 @11:59AM (#8730167)
What is the alternative to building a cross-platform desktop app that isn't tied to the browser security model? Build a different app for every platform?
Re:The State of Desktop Applications in Node.js by rhengles on Wednesday December 10, 2014 @12:42PM (#8730479)
When I set out, a few years ago, to build a gui app in JS in Windows (but cross-platform), I found RingoJS which is a wrapper around Java. My entire app could be in a single .js file, with access to all Java libs. For the widget library, I chose SWT. I built a few very simple apps, despite having never programmed in Java before. Later, I found how to run my .js file directly with RhinoJS and SWT from the command line.

I'm pretty confident that this is the simplest way to build desktop apps in JS in Windows :)

Re:The State of Desktop Applications in Node.js by api on Wednesday December 10, 2014 @12:09PM (#8730245)
Qt and Java.
Re:The State of Desktop Applications in Node.js by shadowfox on Wednesday December 10, 2014 @02:05PM (#8730976)
Or WX widgets.
Re:The State of Desktop Applications in Node.js by dkersten on Wednesday December 10, 2014 @02:10PM (#8731013)
Qt
Re:The State of Desktop Applications in Node.js by callum85 on Wednesday December 10, 2014 @12:19PM (#8730315)
It's OK that you don't like using HTML/JS, but a lot of people do like using them (which is also OK), and those people are the target audience for things like node-webkit.
Re:The State of Desktop Applications in Node.js by chcokr on Wednesday December 10, 2014 @12:04PM (#8730214)
Also, one might simply outperform him/herself in HTML/JS than in other languages. Can't blame that...
Re:The State of Desktop Applications in Node.js by nawitus on Wednesday December 10, 2014 @11:41AM (#8730037)
>I see google trying to blur the lines between that, but why is it necessary?

So that people don't need to install, maintain or update applications, and can access them everywhere in the world using just a web browser? And because they're also more secure than traditional applications that you need to install on your PC?

Re:The State of Desktop Applications in Node.js by depr on Wednesday December 10, 2014 @11:44AM (#8730053)
That applies to Google's apps, but not to these Node desktop apps.
Re:The State of Desktop Applications in Node.js by mempko on Wednesday December 10, 2014 @01:29PM (#8730768)
Having apps magically always update without user consent is developer friendly, but not user friendly.

Have you ever used a web app that changed in ways you didn't like?

Re:The State of Desktop Applications in Node.js by nawitus on Wednesday December 10, 2014 @03:49PM (#8731601)
I'd say "not always user friendly". There are of course drawbacks with web apps.
Re:The State of Desktop Applications in Node.js by moron4hire on Wednesday December 10, 2014 @01:00PM (#8730592)
>> Quit trying to make it that way

no.

Re:The State of Desktop Applications in Node.js by bootstrapnyc on Wednesday December 10, 2014 @01:07PM (#8730635)
+1