It's worth it to push yourself into learning new things for whatever reasons
Jerboa
Jerboa is a native-android client for Lemmy, built using the native android framework, Jetpack Compose.
Warning: You can submit issues, but between Lemmy and lemmy-ui, I probably won't have too much time to work on them. Learn jetpack compose like I did if you want to help make this app better.
Built With
Features
- Open source, AGPL License.
Installation / Releases
Support / Donate
Jerboa is made by Lemmy's developers, and is free, open-source software, meaning no advertising, monetizing, or venture capital, ever. Your donations directly support full-time development of the project.
Crypto
- bitcoin:
1Hefs7miXS5ff5Ck5xvmjKjXf5242KzRtK
- ethereum:
0x400c96c96acbC6E7B3B43B1dc1BB446540a88A01
- monero:
41taVyY6e1xApqKyMVDRVxJ76sPkfZhALLTjRvVKpaAh2pBd4wv9RgYj1tSPrx8wc6iE1uWUfjtQdTmTy2FGMeChGVKPQuV
- cardano:
addr1q858t89l2ym6xmrugjs0af9cslfwvnvsh2xxp6x4dcez7pf5tushkp4wl7zxfhm2djp6gq60dk4cmc7seaza5p3slx0sakjutm
Contact
Jetpack Compose (the UI framework) is pretty easy to learn IMO. If you are an experience dev it probably takes no more than one week for simple stuff :)
I figured it out in a couple days, but I'm pretty experienced with frontend frameworks. Kotlin is nice to work with, and I'm still learning new stuff stuff it, but I was able to fix a bug just a couple days after making an effort.
So I highly recommend going through Google's Jetpack Tutorial and Kotlin's tutorial, and then find a beginner friendly bug on Jerboa (they're tagged).
It's a pretty approachable project. There are parts that I dislike, but after trying for a few days, it starts to make a lot more sense.
I would argue that it's worth learning Android development just to know it, for Jerboa or otherwise
Not everyone that tries this transition succeeds, but many do. Here's a playbook for setting some milestones that are more granular than "develop a new feature".
- Participate here and start answering questions. People with your background are often really good at debugging.
- File GitHub issues for big reports here. Watch the project for duplicate reports and link them to the first report so devs can easily close dupes.
- File new bug reports for issues you find. When you do this, read the code to see if you can find the file, function, or line of code where the problem resides. Experienced programmers often spend 90% of their time looking for the problem and 10% fixing it. If you can locate the fault and describe it, you've often finished the hard part.
- Checkout the GitHub repo. Try to run the test suite. Try to build the app. Sideload your own build onto your phone for testing.
- If the JavaScript language is still looking intimidating to you, crank through something like https://www.w3schools.com/js/js_examples.asp , doing bits of every section at least up to functions or events.
At this point, writing small features will feel natural. You don't have to do everything in this list step by step, jump in wherever feels natural. But this is my zero to hero playbook when I want to get involved in a project that uses an unfamiliar language or otherwise feels intimidating to just drop a pull request into. Especially if you write software in some unpopular language, picking up a new language isn't out of reach. How long it takes is up to you, it might be a fevered night of intense study, a week of focused spare time effort, or months of unstructured messing around. Those are all valid paths.
Never a bad idea to learn new things! I taught myself to write squirrel so I could mod titanfall 2, and am so glad I did. I've ended up making a lasting contribution that improved the game for everyone playing on the community servers.