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

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
 
susickypavel profile image
Pavel 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

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

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
 
maestromac profile image
Mac Siri

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
 
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
 
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
 
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
 
jess profile image
Jess Lee

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

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

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

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

Thread Thread
 
maestromac profile image
Mac Siri

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

Collapse
 
nitya profile image
Nitya Narasimhan, Ph.D

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.

Some comments may only be visible to logged-in visitors. Sign in to view all comments.