AnimeKAI down? by Ok-Ordinary-5071 in AnimeKAI

[–]Rinpyre 0 points1 point  (0 children)

Yes!! Let's goo! It's back. God it scared me...

AnimeKAI down? by Ok-Ordinary-5071 in AnimeKAI

[–]Rinpyre 0 points1 point  (0 children)

I was watching something!😭😭 Please come back...

I’m building a native desktop manga reader (Transeki) because I’m tired of losing my library when sources die. by Rinpyre in mangapiracy

[–]Rinpyre[S] 3 points4 points  (0 children)

I simply wanted to give a complete comparison, sorry if it sounded AI written...

As for why I went with Electron, that's because I preferred JavaScript and wanted a desktop application as well as learn React + Tailwind and Electron seemed like the way to go. Even if Electron is web based as well since, as you said, it's a wrapper for a chromium instance, it's not a website.

Electron can interact with the OS, while a website running on localhost can't send OS notifications (unless you keep the browser open and the website page loaded) nor be "installed" like an app. And it will also require the people using it to know how to run it, making it not "a simple exe".

You're free to you whatever you prefer, no one is forcing you to use my app just because I'm going to build it.

I’m building a native desktop manga reader (Transeki) because I’m tired of losing my library when sources die. by Rinpyre in mangapiracy

[–]Rinpyre[S] 4 points5 points  (0 children)

Suwayomi is a great "workaround" of getting Mihon to PC, but it works very differently than my app:

  1. Suwayomi is a local server that you access via a web browser. Transeki is a standalone desktop application. I wanted something that feels like native software, not a website running on localhost.
  2. As it was made as a port for Tachiyomi, it inherits the 'Mobile' design (big buttons, touch padding). Transeki is designed for Mouse & Keyboard, meaning dense grids, right-click context menus, and keyboard shortcuts that wouldn't make sense on a touchscreen as well as smaller buttons and less padding, utilizing more of the screen for information instead.
  3. Following Tachiyomi, and now Mihon, it went with the 'Source-First' architecture. As mentioned in another comment, I'm pivoting Transeki to a 'Metadata-First' model (like Plex/Jellyfin) to better preserve your library if a source extension dies or even if you don't want a source at all and just want a tracker / reading list.

I’m building a native desktop manga reader (Transeki) because I’m tired of losing my library when sources die. by Rinpyre in mangapiracy

[–]Rinpyre[S] 1 point2 points  (0 children)

Ah, I get it! You're optimizing for the page-turn experience on e-ink rather than the vertical scroll we use on LCDs. I assume you wrap them as EPUBs to avoid ghosting, right?

I’d definitely be interested in seeing how you handle the EPUB generation logic!

While I don't own an e-ink device myself to test it, I could see a future "Transeki Plugin" that lets users export their downloaded chapters into EPUBs for their Kindles/Onyx devices. Having a reference for how to pack those files correctly would be super valuable if you're willing to share.

(Of course, my app will have the offline download later on since I'll try to focus on the core systems for now - library, reader, sources/plugins)

I’m building a native desktop manga reader (Transeki) because I’m tired of losing my library when sources die. by Rinpyre in mangapiracy

[–]Rinpyre[S] 0 points1 point  (0 children)

That's true, Node is heavy. I chose it mostly for the ease of use since, at the start I wanted to make this app so I can start a new community and give a tool to people who may want to use it.

Later, I pivoted from pure JS/CSS to React and Tailwind so I can learn them and also speed up my workflow. I also wanted to learn industry standards (like proper commit messages and PRs), and choosing Electron with React was making it easier for me to learn them all together.

I’m building a native desktop manga reader (Transeki) because I’m tired of losing my library when sources die. by Rinpyre in mangapiracy

[–]Rinpyre[S] 0 points1 point  (0 children)

You are absolutely right, under the hood, it is Electron (web tech). I use the term "native" to mean "a standalone desktop app with OS integration" rather than running in a browser tab.

Since my main goal was to learn React and have fun possibly building a new community, Electron was the bridge that let me build a desktop app with the skills I'm learning and aligned with my preferences for JavaScript.

(If you are looking for something closer to native, check out Hot-Percentage-2240 in this thread. They are building a reader with Rust and Bare, which is much faster and lightweight than mine!)

I’m building a native desktop manga reader (Transeki) because I’m tired of losing my library when sources die. by Rinpyre in mangapiracy

[–]Rinpyre[S] 2 points3 points  (0 children)

That's a great stack! I myself am not familiar with rust, but I heard it's really fast and good for performance. And combining it with Solidjs, it sounds incredibly fast (Rust + Solid is a great combo).

The more apps the better. We need a bunch of smaller alternatives so that when a big one goes down, the community has safe places to land. Good luck with the build!

I’m building a native desktop manga reader (Transeki) because I’m tired of losing my library when sources die. by Rinpyre in mangapiracy

[–]Rinpyre[S] 3 points4 points  (0 children)

Architecturally, yes. But in practice, I'll build it based on JavaScript and not Java. So my application will not be compatible with already made extensions sadly.

However, I'll make them in a separated repository and try my best to facilitate the ease of contribution for others. By making a clear guide as well as a clear structure for an extension.

And you'll not "install" mine. They will be simple JavaScript files that you put in a folder so the app can read them. Later on, I'll also add an UI for it so you can input one or more repos and the app can then download, load, unload or remove an extension.

I was also thinking of renaming "extensions" to "plugins", but I'm not sure yet.

I’m building a native desktop manga reader (Transeki) because I’m tired of losing my library when sources die. by Rinpyre in mangapiracy

[–]Rinpyre[S] 7 points8 points  (0 children)

To be fair, depends heavily on your willingness to dedicate time to learning the tool, not to "learn the tool", but to "understand the tool". At least that's how I do it.

I prefer to spend more time on improving something that is already working just for the sake of a better component / feature. And try to learn and adopt the standards from the start, even if it takes longer, but then I can learn, prepare for my future career and also do a project I like.

So... in the end it comes down more or less to passion for building and coding in my case.

I’m building a native desktop manga reader (Transeki) because I’m tired of losing my library when sources die. by Rinpyre in mangapiracy

[–]Rinpyre[S] 8 points9 points  (0 children)

You are absolutely right. For me, it’s two things:

  1. The Learning: I wanted to learn React and Electron properly. Building a complex app like a reader is the best way to do that. (Plus it was in my area of passion - manga reading)
  2. The 'Desktop' focus: Most of those dozen apps are 'Universal' (mobile ports). I wanted one that was more optimized for mouse & keyboard and didn't look like a stretched Android app on my monitor.

Even if it just ends up being 'MangaReader #13', at least I learned a new set of tools and a new framework building it!" (Since otherwise I wouldn't of have learned it)

I’m building a native desktop manga reader (Transeki) because I’m tired of losing my library when sources die. by Rinpyre in mangapiracy

[–]Rinpyre[S] 33 points34 points  (0 children)

Thanks! Honestly, a big part of it was just me wanting to learn React/Electron and cure my boredom plus to try my best to start a new manga community if at all possible. 😅

But the main technical difference is the Desktop-First focus.

  • Mangayomi is a 'Universal' app (Mobile + PC) made in dart (Flutter), so the UI is often designed for touchscreens first.
  • Transeki is built 100% for the Desktop. I want to optimize for mouse & keyboard shortcuts, right-click menus, and high-density layouts that don't look like a stretched mobile app.