4 ms·
I can't argue with a successful app. If it gets users and the users are happy, then you've succeeded. However, I disagree with with "Phonegap has great scrolli
by bschwindHN 10y ago
I can't argue with a successful app. If it gets users and the users are happy, then you've succeeded.
However, I disagree with with "Phonegap has great scrolling, touch events work as they should and UI quirks are not a fault of the framework"
I just downloaded your app on my Nexus 5 and easily broke the UI with just a bit of button pressing. I don't know if the map is ever supposed to be displayed in a tiny portion of the app at the bottom, but here is what it looked like after some quick button presses:
http://i.imgur.com/AoM5iKf.jpg http://i.imgur.com/AoM5iKf.jpg
Additionally, the drawer list items don't scroll at 60FPS, and the scrolling acceleration is different from android's native acceleration.
The drawer that comes into view from the right (city detail?) also doesn't scroll at 60 FPS and actually prevents the last row of details from showing on the screen unless I drag it into view (at which point it will snap back down when I release):
http://imgur.com/JaZ9lMc.jpg http://imgur.com/JaZ9lMc.jpg
It's also quite easy to screw up the views with multitouch pinching (which users will notice when they try to interact with your map):
http://imgur.com/ojfcTV6.jpg http://imgur.com/ojfcTV6.jpg
This isn't your fault, but it's very hard, if not impossible, to get all this stuff 100% correct compared to a native version. Obviously the majority of users don't notice this stuff, but I just don't think you can make the claims you do about Phonegap.
For new apps these days, if you have to go the hybrid app route, I don't see how someone would justify choosing Phonegap over React Native.
- sooheon 10y agoHi, are you claiming say a re-natal app wouldn't have those quirks? Or at least fewer of them? Any writeups/experiences you'd like to share?
- bschwindHN 10y agoYes, I believe so. I'm working on an app at the moment which uses ClojureScript on top of React Native. When I finish it I'll write something up. You can see an existing writeup on using React Native with JS here: http://cmichel.io/lessons-from-building-first-react-native-app/ http://cmichel.io/lessons-from-building-first-react-native-a... It basically works by running JS in a separate thread and doing the usual virtual DOM diffing algorithm to determine when to update and swap out native view components. The fact that it uses native UI components is what matters here. You don't have to recreate the behaviors in JS. It simply determines the tree of elements to display, it doesn't do the actual work of displaying them in a canvas. Then the underlying OS will take care of rendering from there. And then you get the niceness of slicing up data and making network calls in JS or ClojureScript. And if you use re-natal in particular, you get a really simple but powerful application model. You can read about that model here: https://github.com/Day8/re-frame https://github.com/Day8/re-frame I'm sure I'll run into quirks and other weird behavior as I go, but I seriously doubt it will be anywhere near the magnitude of problems you see with JS-canvas frameworks.
- calsy 10y agoMaybe save your judgement once you have successfully deployed your app on multiple platforms and dealt with myriad of issues that arise from your users.
- bschwindHN 10y agoOf course. But you can't deny there are classes of problems you completely dodge by using native UI components instead of a web view, especially when it comes to touch events and scroll accelerations. I'll shut up now and write something up once I deploy an app to multiple platforms ;)
- calsy 10y agoSorry, didnt mean to be rude, it's easy to get defensive when talking about your work. I would like to read about your progress.
- bschwindHN 10y agoNot rude at all! I was a little aggressive with the app UI quirks I found. If anything, your app is a great example that most users don't care or notice non native UIs as much as developers do. It shows the viability of using such a framework. So don't let me get you down, I just enjoy breaking software :)
- calsy 10y agoI appreciate the feedback, always take that onboard. 1. The bug in your first screenshot is completely my fault and not the frameworks. Something I need to look into definitely. 2. While I would like the forecast to scroll at 60fps on low-end Android devices, I do not consider it a high priority. You might not agree, but the scroller works as it should albeit not at 60fps on lower end devices. iPhone5S onwards and later model Android devices run at the desired fps. 3. Multitouch is intentionally disabled on the map view, but if I was to include it I would use something like hammer.js which is a great js library for multitouch support. I cant judge React Native as I have not had the time to dive into it. I will say phonegap was one of the easier frameworks I have worked with and it has definitely served me well with many users on multiple platforms. There is no disputing there are many shoddy web apps wrapped up with phonegap and dumped on App Store/Google Play. They instantly leave a negative impression and do affect people's opinions on web apps. However, those web apps that are great, you dont even know they are web apps! They run so flawlessly that it doesn't register in your mind that it is infact a web app and not native.
- izacus 10y agoSince when is a Nexus 5 a low end device?! It'll easily scroll anything in the os at 60fps and there are huge amount of people out there running significantly slower phones.
- calsy 10y agoAgain, the scroller works! It's not busted, the app doesn't crash on a large group of slower phones. Many of my users run slower Android devices. The OP who has a general bias against JS centric frameworks stated that the scroller on his device did not run @ 60fps. I dont have any benchmark results to prove this to be so, so I can only take his word for it. Now, when someone who has a bias against something, provides an answer to support his argument without evidence, is that reason enough to ditch a framework? As I have mentioned, I have a large amount of users across multiple platforms and devices. That for me is good enough evidence that people enjoy using the app that is built on the phonegap platform. Are there limitations, YES... give me a framework that doesn't have them. So enough about phonegap, show me a react native app running on multiple platforms built and managed by one person with large amount of users.