55 karma · joined November 18, 2013
The problems I bumped into:
1. No single source of truth for the API between renderer and main.
2. Channel names are just strings (easy to break, hard to refactor).
3. No real type safety across process boundaries.
4. I have to manually keep main, preload, and renderer in sync.
5. The errors I can see only at runtime.
I tried to think about a better approach. Something on top of a contract-based model with a single source of truth and code generation.
I wrote my thoughts about how the current design can be improved/fixed (with code examples) here:
https://teamdev.com/mobrowser/blog/what-is-wrong-with-electr...
How do you deal with this in your project?
Do you just live with it or maybe you built something better on top of existing Electron IPC implementation?
- views://mainview (33.7MB) <- your frontend is running here
- react-tailwind-vite-dev Networking (5.4MB)
- react-tail wind-vite-dev Graphics and Media (16.7MB)
- react-tailwind-vite-dev (60.7MB)
In this case I don't know why I should use Tauri instead of Electron.
ClipBook is written using Molybden SDK. It allows building UI using modern web frontend frameworks like React, Vue, Angular and write business logic using C++. In case of ClipBook: UI — React + shadcn/ui, business logic — C++ + Cocoa. I wouldn't say it's a native macOS app. I would call it a hybrid app that combines web and desktop technologies to build cross-platform desktop apps quickly.
As for access to the source code — I see that it's very important for lots of people, so I will open the source code on GitHub. It's not a problem at all.
As for quick edits — I do the same trick too. I will add the quick edit functionality. I miss it too.
I'm not planning to add snippets. Alfred and Raycast are really good at this.
As for repositioning window, you can drag the window by dragging the panel with the keyboard shortcuts on the left-bottom side of the window.
I actually use an Electron-like framework to make ClipBook, but it's not Electron and not CEF. It's Electron for C++ developers. It's called Molybden SDK. I'm one of the creators of this SDK. I decided to use it, because I know it really well and it allows me to write using C++ and closely work with the operating system. It's very important when you build a software like ClipBook.
You see the 600MB binary, because it's probably Universal (Apple Silicon + Intel) DMG. To have a smaller size it's better to download DMG for your Mac CPU architecture. You can find all three versions at https://clipbook.app/download/
I should say that even Apple Silicon or Intel app will still be ~330MB. It's because of the SDK I use to build this app.
I'm not hiding and you can easily find me in social networks: - LinkedIn: https://www.linkedin.com/in/vladimir-ikryanov-9334915/ - GitHub: https://github.com/vladimir-ikryanov
I will definitely need to share the source code of ClipBook, so anybody can analyze it or build their own copy of the app.
Maybe it's just me and I didn't find a way to resize the window. If someone knows how to do this, please share with us.