New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create an android app #151
Comments
I'll be on this, I'm probably going to need some help. Also if someone wants to work on an iOS app I won't be able to do that. |
What is the current status on the Android app? I've been following development of lemmy for a while now, would like to help out. |
I don't think anyone's started it yet. If anyone's interested, I'd give all the help I can, API-wise. The main idea is that someone could fork slide, wire up the new API. |
I haven't started yet. I wanted federation to at least be working in beta before I started because this project is mainly going to focus on adding multi account, multi server and API changes to slide. If you want to do it though feel free, the main reason I was going to is because I didn't see anyone else interested in doing it and I think it is important. |
Can you add the functionality to the current Slide app so people can use Reddit and Lemmy in the same app? |
I'm not sure, you'd have to ask over at slide, or whoever eventually tackles this. |
I'll open an issue |
Here it is. If you want, you can go vote on it and discuss. |
Looks like it isn't going to happen. Just go ahead with forking it. |
Hi, a dev from Slide here, thanks for your interest! I would say that reddit is so tightly coupled in Slide that supporting a different API would practically require a rewrite. We also carry a substantial amount of legacy issues. A such I'd suggest that rather than forking it would actually be easier to create an entirely new app for Lemmy, with all the niceties that brings (Kotlin, Jetpack, etc.). It would be quicker to get a basic demo app up and running that way, and ease ongoing maintenance significantly. |
Somewhat related, but since Lemmy already uses a single-page web app that only makes API calls, could we not just package that up with Electron or another embedded browser app platform to get some basic apps? |
Its doable, but wouldn't really be that great, and would look exactly like it would in a browser window. Now that we have an http-api and the websocket API, this is very doable for someone familiar with android. I might start one myself after I do more federation work, but the front end work keeps piling on. The only other native app I'd be interested in, is a command line one similar to tuir but for lemmy : #152 |
Personally, I think federation would be more important. We can make an embedded browser app in the meantime (I might take a crack at it when I have time), or we can do without an app, but the most important thing is federation because that's one of our core goals. |
Can I work on this? |
Absolutely! @Nutomic is doing some very preliminary looking into to forking redreader and converting, but I'm of the opinion it might be easier just to start a new kotlin + jetpack app from scratch. Just let me know if you need anything, we have both a working http API and websocket API. |
@dessalines Would you consider a Flutter app? |
@humancalico I have never used that before. Does it actually feel like a native app? |
Yes it does. You can check out some of the popular apps made in Flutter at https://flutter.dev/showcase |
It took a while to figure out, and it looks like flutter apps do compile to native, but it would require an entire rewrite anyway, so why wouldn't you use kotlin / jetpack, which is the preferred, lower-level, and much faster way to make an android app nowadays. |
Also, Flutter is made by Google. Do you really want them in the Lemmy project? |
I'm going to move forward with my idea of wrapping the web client: https://dev.lemmy.ml/post/29826 |
@StaticallyTypedRice If you'd like to, go ahead, but ya as I stated I hate web wrapper apps with a passion. If we did things that way, every website would be an embedded chromium / android chrome instance, and our RAM and batteries would die pretty quickly. The built lemmy is small, so the app would probably only be about as big as whatever browser cordova uses. |
In that case, you might want to use Qt for the app. It's C++ so it's fast and light, and compiles to every mobile and desktop platform. |
There's even a Qt wrapper for Rust: https://github.com/rust-qt |
on mobile OSes, the browser is available as library for apps that want to embed / wrap a website. and every OS worth their money de-duplicates loaded libraries in RAM, until you start writing to it, which i hope most libraries don't actually allow so the situation you're describing is the one we have one we have on the desktop right now, thanks to Electron: every app (website) ships their own version of electron, chromium and NodeJS. |
Just commenting so I can be assigned, see #828 |
Is there a oublicallt available lemmy mobile app that is being developed? I found out about Lemmy from hn, and I'd love to help build an app for it. |
No there isn't, which is why this issue is still open. This issue is assigned to me because I'm planning on making one, you're free to join the Matrix chat to discuss it specifically, I'd be happy if I had someone else to help with that. |
I actually started working on a native android app for Lemmy, here. Sadly I don't really have the time to continue working on it right now. Just pointing this out in case it's useful as a starting point for anyone else |
I'm currently working on a React Native client for Lemmy here. I believe it's a great option since the web client is already built in Inferno (React-like API) and TypeScript, as it should be quite easy to rebuild by copying some of the web code. Would definitely appreciate contributions. |
I'd be willing to try it out and give feedback. How can I compile it? |
I started talking with the CTH team and also discussed this with the Lemmy team, we would prefer to have an Android native app with an iOS wrapper, then just another web app. |
@Dominikaaaa React Native is not web-based. |
Forgive my ignorance, I assumed it was because typescript is a web language(?) |
No offence taken @Dominikaaaa. It's mostly used for web, but it can be used on the server-side (with Node or Deno) as well. It basically can run wherever JS can run. |
@koredefashokun What's the repo again? @Dominikaaaa and yours too? I wanna add these links to the top of this issue. |
The CTH team doesn't have an app yet, we've focused on making a Kotlin API for Lemmy first |
@dessalines, here's the link to the repo: https://github.com/koredefashokun/lemmy-mobile |
Cool. I'll add these to the readme also soon. |
Lemmur wasnt mentioned here yet, I added it to the list. Their development looks very active. |
Is anyone interested in taking the lead on making a (iOS and/or Android) app using https://www.scade.io/ (swift)? |
I'm helping with a Kotlin native app for Android with an iOS wrapper planned, with the CTH team. Lemmur is Dart afaik and there's another mobile on in progress which is in typescript. I don't think there's a need for a swift app |
@L1ving is there a repo for the kotlin one yet? I've been playing with jetpack compose a little bit this past week, and figured we could use some of their template examples as a good starting place. |
It's only a Kotlin API for Lemmy at this point, although mostly finished. I plan to start working on the actual UI soon(?), I've been busy with irl stuff. https://github.com/eiknat/lemmy-client |
Jetpack compose is also what we were planning on using afaik |
I see on the Play Store there is this client available: https://play.google.com/store/apps/details?id=com.lemmy |
That one isn't open source, last time I checked |
)' (#151) from actor-inbox into main Reviewed-on: https://yerbamate.ml/LemmyNet/lemmy/pulls/151
Just curious, was there any discussion about just making the lemmy client on the web a PWA? I believe you can actually list PWAs on the android store now. |
I'm kinda against having chrome wrappers as installable apps, taking up their own memory space on your phone outside of the browsers you're already using. The lemmy-ui is currently a PWA, if you're using either chrome or firefox on android you can click install as app instead of bookmark. Outside of that there are now two native apps for lemmy on mobile (android and iOS), which I'd much rather have people on phones use and help contribute to, lemmur and remmel, listed here: https://join.lemmy.ml/apps/ |
There is an Android app now (and iOS as well), so I'm closing this. |
Clients
Apps
The text was updated successfully, but these errors were encountered: