The wait is over! We are excited to announce the DEV Community app for Android. Similar to our approach with iOS, we heavily leveraged native shell/web views and will include more native code over time. There are a few known issues but we're excited to have a starting point for future enhancements!
We're also on Product Hunt today. 😊
Please let us know your feedback and suggestions as you start to try out the app. And just like our web app and iOS app, the Android app is open-source!
Contributions by way of issues and PRs are very very welcomed:
forem / DEV-Android
DEV Community Android App
DEV Android 💝
This is the official repository for the dev.to's Android app.
Design ethos
DEV Android is an WebView based application. This application is inspired by Basecamp's approach. We will grow to include more native code over time.
By leveraging webviews as much as possible, we can smoothly sync up with our web dev work. And where it makes sense, we can re-implement certain things fully native, or build entirely native features. Life's a journey, not a destination.
Contributions
We expect contributors to abide by our underlying code of conduct. All conversations and discussions on GitHub (issues, pull requests) and across dev.to must be respectful and harassment-free.
System Requirements
You will need to have Android Studio 3.5 or up installed.
Usage
$ ./gradlew tasks --group=custom
------------------------------------------------------------
Tasks runnable from root project
------------------------------------------------------------
Custom tasks
------------
androidTest - Run android instrumentation tests
hello - Hello World task
…DEV iOS 💖
This is the repo for the dev.to iOS app.
Status:
Released first version, more info: https://twitter.com/bendhalpern/status/1061323718058786822
Design ethos
We will grow to include more native code over time, but for now we are taking the approach of native shell/web views. This approach lost favor early in iOS days, but I believe it is a very valid approach these days. It is inspired by how Basecamp does things. Our tech stack is a bit different, but the ideas are the same.
https://m.signalvnoise.com/basecamp-3-for-ios-hybrid-architecture-afc071589c25
https://signalvnoise.com/posts/3743-hybrid-sweet-spot-native-navigation-web-content
https://signalvnoise.com/posts/3766-hybrid-how-we-took-basecamp-multi-platform-with-a-tiny-team
https://www.youtube.com/watch?v=SWEts0rlezA
By leveraging wkwebviews
as much as possible, I think we can make this all pretty awesome and sync up with our web dev work pretty smoothly. And where it makes sense, we can re-implement certain things fully native, or build entirely native features. Life's a journey, not a destination.
Contributing
- Fork and clone the project.
- Build and run the project in XCode.
- …
You can still install the app as PWA and we will continue to support various installation paths of DEV.
Happy Coding ❤️
Top comments (92)
We have more features to implement but we wanted to get this up as soon as it was a solid, usable solution.
Speaking of installable instances of DEV, did you know you can install our site as a desktop PWA? There are some definite gotchas to the current state of desktop PWA but it's an interesting possible future.
The PWA is awesome. I have been using it most of the time on phone. It works pretty well. 😎
what are you finding lacking in current state of PWAs that you need for dev.to?
Specifically for desktop, there are just a few unanswered questions about how certain functionality would be delivered. It's just early and some of the features we might want to use are not yet shipped.
On mobile, especially Android, it's been really nice. But we wanted to get into the native realm because certain APIs may never ship to PWA and getting into native is important to ensure the best longterm user experience.
By mostly relying on webviews, it's not that hard to ship to as many platforms as possible.
Can you show us what APIs ? 🤓
Curious to learn what specific APIs too myself.
I'm all for the iOS, Android apps as options, however, I doubt there's anything that'll be implemented in the natives that isn't supported in the browser at the moment.
The web API support has advanced interestingly.
Anyway kudos to the team behind the platform apps. Enjoying the PWA
Is there an API that allows posting on dev.to?
I was not able to figure it out. I was browsing thorough the code for an hour and couldn't figure out how to login using the API.
Was React Native used to develop the app ? If so, What UI kit was used to give the app the same web ui feel ? This app is really cool like its PWA sibling.
I took a look at the source code on github and it looks like that it's a native Android app, but it uses a webview that contains the website. But I don't know that for sure...
It would be cool if this was developed using React Native. I would want to contribute :)
Is there any beta program one can sign up for??
I tried to login via twitter/github using the app. It redirects me to my mobile browser and asks me to login with twitter, but when I do I only get logged in my Dev account in the browser not in the app.
Sorry everybody. As stated, having Chrome as the default browser is the temporary work around. We will address this in the upcoming hot fix.
I have had the same issue before I removed the PWA version of the app. Try removing it and then logging in again :) worked for me.
Ahh perfect! I was having the same issue but this seemed to fix it! Thank you!
I bet the PWA service worker is being a bit too aggressive in what requests it captures and tries to handle, but that's really just a shot in the dark lol!
Same issue here 😢
My default browser is chrome, but this still happens to me. I had to uninstall it and get back to the PWA.
Super excited about this announcement. Awesome job and hat-tip to @maestromac who led the charge here!
We now have apps for Android, iOS, PWAs, and even some (community-built) CLI tools. Of course, all of the above are open-source, and are ready to be improved with the community's help.
Neat! Any advantage to the Android app over the PWA? Been using the PWA for a while now and it's great! Better than most native apps I've used.
Probably the push notification feature would be merged soon 😋😋
Doesn't the native app have push notification feature currently?
It looks like its still in development, see this issue
Last time I checked the repo there was nothing there, I was planning on working on a poc version and making a PR to open a discussion.
I guess work was being done in private 😉
Congrats on the Android release!
This is probably a known issue already, but although I'm able to login with GitHub, I have to login again every time I kill the app. The login flow itself (i.e., having to open the browser) could use some work as well. Other than that, it's a great start! It's already faster and smoother than the PWA version, so well done!
I have the same issue 😢
Haha, just tried it again, and now it works :P my session gets restored. They probably updated the website to persist the session token or something.
@maestromac , thank you for leading up this effort!!
I have both Firefox and Chrome installed in my phone (running Android 5.1). I managed to login using Chrome and I was successful in this... but the App never loads my avatar and my feed. I see only the first article and the following ones keeps loading.
I tried the process (erasing data, performing the login with Chrome) several time with always the same result.
Is there something I can do to correctly login or is it better waiting for an update?
Thank you for the good work!
A new version was just released. Can you please try it out and let me know if the problem still persists?
I'm still in the same situation and I cannot figure why.
I erased the data and I log in via github (the login process is now inside app).
That's a screenshot of what I got:
(hope this helps)
Thank you!
Sorry to you that you are still expericing this. I'll create an issue on your behalf.
This is the issue. Can you please tell me your phone's specs?
Excited to see this. And happy to say that this is my first data entry from aforementioned app. 🙌🎉💯
Just installed bit and it is super responsive! Look forward to using it more.
Thanks for this. I was also using firefox as my default browser. I switched to chrome as my default browser, but the app still opened firefox for the login. I had to uninstall firefox first, now I've successfully logged into the app with chrome.
Some comments may only be visible to logged-in visitors. Sign in to view all comments.