DEV Community

Cover image for Announcing DEV for Android
Mac Siri for The DEV Team

Posted on

Announcing DEV for Android

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. 😊


Get it on Google Play

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:

GitHub logo forem / DEV-Android

DEV Community Android App

DEV Android 💝

This is the official repository for the dev.to's Android app.

Get it on Google Play

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
…
Enter fullscreen mode Exit fullscreen mode

GitHub logo forem / DEV-ios

DEV Community iOS App

Build Status GitHub License Language Maintainability Test Coverage

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

  1. Fork and clone the project.
  2. Install Carthage. If you use Homebrew…

You can still install the app as PWA and we will continue to support various installation paths of DEV.

Happy Coding ❤️

Discussion (91)

Collapse
ben profile image
Ben Halpern

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.

Collapse
thesoreon profile image
Paul Susicky

The PWA is awesome. I have been using it most of the time on phone. It works pretty well. 😎

Collapse
monteslu profile image
Luis Montes

what are you finding lacking in current state of PWAs that you need for dev.to?

Collapse
ben profile image
Ben Halpern

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.

Thread Thread
kip13 profile image
kip

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.

Can you show us what APIs ? 🤓

Thread Thread
khophi profile image
KhoPhi

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

Collapse
kayis profile image
K (he/him)

Is there an API that allows posting on dev.to?

Collapse
detunized profile image
Dmitry Yakimenko

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.

Collapse
silverman42 profile image
Sylvester Nkeze • Edited on

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.

Collapse
mdelclaro profile image
Matheus

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 :)

Collapse
agpt8 profile image
Ayush Gupta

Is there any beta program one can sign up for??

Collapse
jrraymundo profile image
Jerome Raymundo

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.

Collapse
dusan100janovic profile image
Dušan

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.

Collapse
coreyja profile image
Corey Alexander

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!

Collapse
maestromac profile image
Mac Siri Author

Sorry everybody. As stated, having Chrome as the default browser is the temporary work around. We will address this in the upcoming hot fix.

Collapse
tyler_potts_ profile image
Tyler Potts ✌️

Same issue here 😢

Collapse
geocine profile image
Aivan Monceller

My default browser is chrome, but this still happens to me. I had to uninstall it and get back to the PWA.

Collapse
peter profile image
Peter Kim Frank

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.

Collapse
drbragg profile image
Drew Bragg

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.

Collapse
bhupesh profile image
Bhupesh Varshney 👾

Probably the push notification feature would be merged soon 😋😋

Collapse
subsr97 profile image
Subramanian 😎

Doesn't the native app have push notification feature currently?

Thread Thread
bhupesh profile image
Bhupesh Varshney 👾

It looks like its still in development, see this issue

Collapse
jess profile image
Jess Lee (she/her)

@maestromac , thank you for leading up this effort!!

Collapse
glennmen profile image
Glenn Carremans

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!

Collapse
rcosteira79 profile image
Ricardo Costeira

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!

Collapse
tyler_potts_ profile image
Tyler Potts ✌️

I have the same issue 😢

Collapse
rcosteira79 profile image
Ricardo Costeira

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.

Collapse
jntx profile image
Jenner Fusari

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!

Collapse
maestromac profile image
Mac Siri Author

A new version was just released. Can you please try it out and let me know if the problem still persists?

Collapse
jntx profile image
Jenner Fusari

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:
still loading...
(hope this helps)

Thank you!

Thread Thread
maestromac profile image
Mac Siri Author

Sorry to you that you are still expericing this. I'll create an issue on your behalf.

Thread Thread
maestromac profile image
Mac Siri Author

This is the issue. Can you please tell me your phone's specs?

Collapse
nitya profile image
Nitya Narasimhan

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.

jrraymundo profile image
Jerome Raymundo

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.

Collapse
vinayhegde1990 profile image
Vinay Hegde • Edited on

@dev.to team - Kudos to you for releasing an Android app to enable everyone access content right on their fingertips.

Like it's been already pointed out, could there be a feature to include Github auth within the app itself than opening a browser?

PS: Comments work flawlessly 😄

Collapse
irreverentmike profile image
Mike Bifulco

Great work on this, y'all. I'm super pumped to have a native dev.to app on my phone, at long last! The PWA was doing the trick for quite a while, but a full app is 🎉

This is quickly becoming one of my favorite places to learn and discuss the world I work in. Thank you for that. 🙏

(An authoring question: how does one embed github repo cards in posts like you've done?)

Collapse
maestromac profile image
Mac Siri Author

It's our liquid tags. 😊

{% github https://github.com/thepracticaldev/your-repo-url-here %}
Collapse
irreverentmike profile image
Mike Bifulco

Sweet! Ah goodness there's so many of these. Wow!

Collapse
itsasine profile image
ItsASine (Kayla)

Woo, dark theme works in the app 🎉 Now to go bookmark another 1000 articles because it's so easy

Collapse
elanandkumar profile image
Anand Kumar

Downloaded and install. It is Awesome.
Thanks Dev.

Collapse
geraldew profile image
geraldew • Edited on

Oh well, I just uninstalled the app after trying to use it for a month. In the end the killer non-feature was the inability to easily Share an item to email. As I'd keep finding myself copying the URL to clipboard and going to Firefox anyway, I've replaced the app with a home page link for Firefox.

Trying to use the URL pasted straight into an email was a fail as it seems impossible to then clip the title text from the app.

For context, I use Firefox across all platforms, albeit with no Apple platforms in the set.

Collapse
maestromac profile image
Mac Siri Author

Thanks for this. We'll make improvement in that front in the upcoming version.

Collapse
razan profile image
Razan Qraini

Congrats👏🏼🤩 the app is super fast and neat!
I'll check and follow the repo for sure

Collapse
rhymes profile image
rhymes

Well done!!!

Collapse
electrode profile image
Electrode Cathode

Replying from the android app and it's awesome

Collapse
iamksam profile image
ɯɐSʞɯɐᴉ

Just got it! This is exactly what I was looking for! ♥️

Collapse
jmfayard profile image
Jean-Michel Fayard 🇫🇷🇩🇪🇬🇧🇪🇸🇨🇴

The Android app works fine here!

I have a feature request related to be less distracted

I would like to be able to focus on my reading list when I'm using the mobile app.

Desktop is great for browsing, looking at notifications, answering comments.

On the mobile app I would prefer to have my reading list open by default - maybe a checkbox in the settings

Collapse
adammc331 profile image
Adam McNeilly

Congrats! This is so exciting! :D Definitely starring and following the repo. Please let me know if I can ever help. :)

Collapse
somedood profile image
Basti Ortiz • Edited on

Finally! 🥳🥳🥳 I've been waiting for this. Thank you, guys! Keep up the good work!

I'm just sad that I couldn't download it because my phone runs Android 4.1... ☹

Collapse
derekedelaney profile image
Derek Delaney

Has the team thought about using flutter to create an app for both platforms? Only one code base to maintain.

Collapse
stokry profile image
Stokry

Great😀

Collapse
erhankilic profile image
Erhan Kılıç • Edited on

It gives error when you try to login. I tried to login with github, it opens the auth link in browser but when you login on the github, it says csrf error.

Collapse
diegomgar profile image
Dieg Oto

I'm using it! I must say, with Xiaomi,that the login throws cors error and fails with the default MUI's SO browser. Using Chrome as default browser allowed me to successfully login. Good job!

Collapse
cmmata profile image
Carles Mata

Great! It's a good start, sure it will improve over time with the community's contributions!

Just to know, will you post somewhere what do you want to add or improve to the app?

Collapse
maestromac profile image
Mac Siri Author

Thanks for the feedback! Following our repo is the best way to stay up to date with our plans.

Collapse
infoneil4_5 profile image
sean cook

Alt text of image

Collapse
cmmata profile image
Carles Mata

I'm following, so I'll take a look. I suppose you'll post desired features too, so if I want to contribute I can see what would you like to be implemented.

Collapse
brandonskerritt profile image
Brandon

Side note: Love your Foster's home profile pic!!!

Collapse
javinpaul profile image
javinpaul

Congratulations!!

Collapse
infoneil4_5 profile image
sean cook

Alt text of image