Web Application VS Windows Application
-
@guyinpv said in Web Application VS Windows Application:
@scottalanmiller said in Web Application VS Windows Application:
@guyinpv said in Web Application VS Windows Application:
I think it's just the principle of the thing.
Less fluff means smaller, faster, easier to distribute, fewer dependencies to test/update or that can potentially introduce security leaks or be hacked or become outdated.
I'm thinking that it is more like virtualization.... standard abstraction layers add "more stuff" but in standard ways that make development, stability and security easier.
In theory.
I don't think tools like Electron are this "standard" yet. Could be wrong. I've had plenty of "websites in a box" apps crash on me and do stupid things, screwy UIs and other bugs.
I'm sure they will improve. I'm looking forward to trying Electron myself. I just don't have a project yet!
It's not a panacea, you still need a good product. Native apps have these problems, too.
-
@scottalanmiller said in Web Application VS Windows Application:
@guyinpv said in Web Application VS Windows Application:
@scottalanmiller said in Web Application VS Windows Application:
@guyinpv said in Web Application VS Windows Application:
I think it's just the principle of the thing.
Less fluff means smaller, faster, easier to distribute, fewer dependencies to test/update or that can potentially introduce security leaks or be hacked or become outdated.
I'm thinking that it is more like virtualization.... standard abstraction layers add "more stuff" but in standard ways that make development, stability and security easier.
In theory.
I don't think tools like Electron are this "standard" yet. Could be wrong. I've had plenty of "websites in a box" apps crash on me and do stupid things, screwy UIs and other bugs.
I'm sure they will improve. I'm looking forward to trying Electron myself. I just don't have a project yet!
It's not a panacea, you still need a good product. Native apps have these problems, too.
There is something about a native app though. I feel like companies spend requisite time doing actual QA and releasing a stable product. Or maybe it's perhaps that when programming in C++ or C or whatever, the profiling and debug tools are that much better?
Companies that release websites-in-a-box products follow a different mindset, the "hustler" way of "release soon, release often", depending on their failing products to be debugged by their own users who will report their issues diligently and submit bugs to github.
End users should not be QA, no matter what tool or language. But if all you're doing is programming a "website" then updates are a cinch you don't have to worry about your product sucking after release.
Desktop apps crash, but rarely due to stupid UI, UX issues that would have only needed 10 minutes of real QA and testing to discover. Or more robust debugging and compile tools.
-
@guyinpv said in Web Application VS Windows Application:
There is something about a native app though. I feel like companies spend requisite time doing actual QA and releasing a stable product. Or maybe it's perhaps that when programming in C++ or C or whatever, the profiling and debug tools are that much better?
But only Linux products are using C to any degree. Windows is mostly C# and VB.
-
@guyinpv said in Web Application VS Windows Application:
Companies that release websites-in-a-box products follow a different mindset, the "hustler" way of "release soon, release often",
Hardly hustler. It's the only reasonable way. Make it in the dark, throw it over the fence and walk away is so much worse.
-
@guyinpv said in Web Application VS Windows Application:
End users should not be QA, no matter what tool or language.
Unless you want to deliver something for end users and need to know what they want, like, need, etc.
-
@guyinpv said in Web Application VS Windows Application:
Desktop apps crash, but rarely due to stupid UI, UX issues that would have only needed 10 minutes of real QA and testing to discover. Or more robust debugging and compile tools.
What do you feel that they mostly crash from?
-
@guyinpv said in Web Application VS Windows Application:
But if all you're doing is programming a "website" then updates are a cinch you don't have to worry about your product sucking after release.
That's not true if you think about the fact that they might be deployed locally. No more true of one than the other type.
-
@scottalanmiller said in Web Application VS Windows Application:
@guyinpv said in Web Application VS Windows Application:
End users should not be QA, no matter what tool or language.
Unless you want to deliver something for end users and need to know what they want, like, need, etc.
"Features" are different from "bugs".
I sure as shooting "want, like, and need" the product to actually WORK before I start acting as free beta tester for an app. Especially if I've paid for it.
If the app is free, well there is always an out. -
@scottalanmiller said in Web Application VS Windows Application:
@guyinpv said in Web Application VS Windows Application:
Desktop apps crash, but rarely due to stupid UI, UX issues that would have only needed 10 minutes of real QA and testing to discover. Or more robust debugging and compile tools.
What do you feel that they mostly crash from?
That is far beyond my knowledge. I imagine the roots dig deeper into dependencies and OS drivers and so on.
A website-app-in-a-box, well it might crash because Javascript is insufficient as a desktop language and was overwhelmed in some way? I've seen UI elements disappear behind other elements of the boundary of the app's border. I've seen font issues, graphics rendering issues, issues of "flashing" elements and other refresh issues. I've seen the apps freeze up when working too fast and it can't keep up.
I don't tend to see UI issues in a solid desktop app. They are typically built on standard UI libraries from the OS, where all the rendering and sizing and refreshing are pretty locked in.
Again, I use plenty of both types of apps, but here in 2016, I still prefer native, what can I say?
-
@guyinpv said in Web Application VS Windows Application:
That is far beyond my knowledge. I imagine the roots dig deeper into dependencies and OS drivers and so on.
Native apps tend to be much more susceptible to those things. That's one of the specific advantages of more modern methodologies and the same as why virtualization makes for more stable environments.
-
@guyinpv said in Web Application VS Windows Application:
A website-app-in-a-box, well it might crash because Javascript is insufficient as a desktop language and was overwhelmed in some way?
But that's silly. A native app could do the same because C# wasn't up to the task. Both carry the risk, in neither is it serious.
-
@guyinpv said in Web Application VS Windows Application:
Again, I use plenty of both types of apps, but here in 2016, I still prefer native, what can I say?
How many people can even identify native anymore? MS Office has been web for two generations now.
-
@guyinpv said in Web Application VS Windows Application:
I don't tend to see UI issues in a solid desktop app. They are typically built on standard UI libraries from the OS, where all the rendering and sizing and refreshing are pretty locked in.
Canvas is to. If either has issues with that, it's not the language or approach that is the problem. That's an artifact of the developers not making something that looks good. That's a separate issue.
-
@scottalanmiller said in Web Application VS Windows Application:
@guyinpv said in Web Application VS Windows Application:
I don't tend to see UI issues in a solid desktop app. They are typically built on standard UI libraries from the OS, where all the rendering and sizing and refreshing are pretty locked in.
Canvas is to. If either has issues with that, it's not the language or approach that is the problem. That's an artifact of the developers not making something that looks good. That's a separate issue.
I think this conversation is beginning to turn in to "which programming language is better" at this point.
The "native vs. web" idea is lost. What does "web" even mean then? Almost all native apps are connected to the web too. So we're really talking about "web languages" rather than internet-enabled.That means we're talking about JS versus C#, Visual C++, VB etc. Or even further, JIT versus compiled. Or further, higher level versus lower level.
What difference does it make at this point? I appreciate that lower level "native" apps tend to be better tested, require fewer dependencies, are more stable and faster. I also appreciate web-language containerized quazi-desktop cross-compiled apps can be easier to design and distribute and work across platforms. It also offers traditional "web devs" a means to crossover into desktop development.
You said Office has been "web" for two generations. Not sure what you mean here. Yes they have "web versions" that can run in a browser, but they still have their C++ native Windows apps, or Objective C for Mac version. It ain't written in JS in a container!
I've used Word and Excel in the browser, as well as the desktop apps, and FAR prefer the desktop apps still. The web version has crashed on me more times in a year than my desktop Office has ever crashed in my lifetime.
Web is convenient and pretty dang cool, but still has its drawbacks. -
@guyinpv said in Web Application VS Windows Application:
That means we're talking about JS versus C#, Visual C++, VB etc. Or even further, JIT versus compiled. Or further, higher level versus lower level.
No, you are mixing the concept of how the app is delivered versus in what language it is written in. You can write web apps in C# primarily. It's NOT about the language, it's about the ideology and design.
-
@guyinpv said in Web Application VS Windows Application:
You said Office has been "web" for two generations. Not sure what you mean here.
I mean it is a web page. It's shown in a frameless browser. It's a web app like any other. LibreOffice offered this one generation ahead of MS Office, as well.
-
@guyinpv said in Web Application VS Windows Application:
...but they still have their C++ native Windows apps
Not for two generations they haven't. Last one was Office 2010.
-
@guyinpv said in Web Application VS Windows Application:
I think this conversation is beginning to turn in to "which programming language is better" at this point.
The "native vs. web" idea is lost. What does "web" even mean then? Almost all native apps are connected to the web too. So we're really talking about "web languages" rather than internet-enabled.Nope, we are (or at least I am) still very strictly talking about web apps versus native apps (those that call the Windows desktop API.) Web apps are delivered via the browser (whether you see the browser like MangoLassi or you don't see it like MS Office and LibreOffice.) Windows apps (native apps) are written to directly call the Windows API.
Web apps, naturally, are not tied to a platform and can be shared remotely as easily as locally because the infrastructure is always there. Much like how X has always been on UNIX making it so much more flexible than the Windows desktop for networking. Windows desktop native apps are inherently not portable because they are written "to Windows" rather than to "the web."
-
@guyinpv said in Web Application VS Windows Application:
What difference does it make at this point?
The biggest thing is the risk of technical debt. Paying to make code that locks you into the Windows ecosystem when you could be making code that doesn't, regardless of your current use case, is just reckless. Writing native apps when they are unnecessary ties you to more expensive resources, reduces options and is backwards looking. It increases risks without providing benefits (except in those 5% of cases where you need a local resource in a way that you can't get in another way, like for video editing or system maintenance apps.) Even many of those things are finding ways to use the web server to do system tasks and not needing native apps, either.
Think about what companies write as bespoke software. I've never seen a company make bespoke software that would benefit from being native. And effectively I've never seen bespoke software that wouldn't have benefited from being web enabled. Do you have an example of any real world bespoke software development where a native app would have been beneficial or is beneficial compared to what is available on modern web apps?
-
@scottalanmiller said in Web Application VS Windows Application:
@guyinpv said in Web Application VS Windows Application:
...but they still have their C++ native Windows apps
Not for two generations they haven't. Last one was Office 2010.
Wikipedia says that 2013 was made in C++