My final result 😁
After months of work, I am happy to contribute to the community by sharing my first Electron application Znote published on the Mac App Store.
Motivation
In this article I would like to share my journey to publish an Electron application on the Mac App Store and also thank the Dev.to community for helping me along this path.
At the beginning, I just wanted to encrypt my personal sensitive notes. Effectively, I have the bad habit (like many) of storing my passwords, accounts access and pieces of code in local notes or/and usb key.😅
After a while of web search, I was really disappointed to find only incomplete or paying editors for this simple function of note encryption. So I decided to create another my own free editor with powerful features that I want as developer!
In this context I started to build Znote with Electron and React.
Set yourself a limit and don't exceed it
Here my first advice, probably obvious for many of you. After starting to use my app all my workdays, my goal finally changed; I wanted to use znote as my primary notepad. To achieve that, I focused to add more and more features like code highlight, multi-notes support, auto saved drafts... (in fact, until I was happy to use it). It just should be an encryption feature but actually it looks more like a real software. It's not a bad thing but I wasn't prepared to invest so much free time.
Don't underestimated the deployment
It's probably my biggest mistake! When I thought my development was finished and ready to be published on the App Store, I quickly realized the enormous amount of work that remained to be done before publishing.
Here are some issues I encountered:
- How to use React with electron (and how to optimize build)
- How to generate Apple certificate
- How to notarize your app and write your own resign sh script to your Electron version
- How I couldn't build Windows and Mac app in the same platform
- But also How sandbox your application and add specific code like MAS Bookmarks and permissions
- Why I had to declare a procedure to ANSSI to make my application legal in France
- Create a dedicated website for app and a CGU page (you can take inspiration from mine if you wish)
- Discuss with Apple developers during the validation process to be compliant with OSX guidelines And so much more things...
I plan to start a series of tutorials soon to explain each point.
To Conclude: Give it a try
I'm really happy to achieve this Apple publication but it's just the beginning. I still have lots of things to do. (New feature ideas, Windows store is ongoing...)
I intend to continue providing this application for free. If you like my work, give me your opinion on Apple store or directly on Github with a star.
If you found an issue you can report it to the issues section.
And finally, if you want to participate to vote on the next features, I will be happy to received your mail via the homepage of the website.
EDIT*
I put here the first part of tutorials: how to build an electron application
create-your-first-real-electron-application
Top comments (4)
I put here the first part of tutorials: how to build an electron application
dev.to/alagrede/create-your-first-...
Thank you for the tutorial, i downloaded your app and am enjoying it, also i have some technical questions.
What type of local storage did you use? or is your app have a remote database?
What is your approach for syncing data and encryption? Thank you
Congrats!!
The Windows store tutorial is coming soon 🥳