Simply Electron
Mastering Desktop Software Development with JavaScript
Ray Voice
Anna Voice
Simply Electron
Published Independently by Ray Voice.
Copyright 2020 Ray Voice. All rights reserved.
All rights reserved. This book or parts thereof may not be reproduced in any form, stored in any retrieval system, or transmitted in any form by any meanselectronic, mechanical, photocopy, recording, or otherwisewithout prior written permission of the publisher, except as provided by United States of America copyright law. Requests to the copyright owner for permission should be addressed to the author at .
Disclaimer: The information in this book was correct at the time of publication, but the Author does not assume any liability for loss or damage caused by errors or omissions. The Author or any other persons involved in the production of this book cannot be held responsible for any of the damages, liability, or misrepresentation. To maintain the anonymity of the individuals involved, some names and details have been changed. Some sample scenarios in this book are fictitious. Any similarity to actual persons, living or dead, is coincidental.
LIMIT OF LIABILITY/DISCLAIMER OF WARRANTY: THE PUBLISHER AND THE AUTHOR MAKE NO REPRESENTATIONS OR WARRANTIES WITH RESPECT TO THE ACCURACY OR COMPLETENESS OF THE CONTENTS OF THIS WORK AND SPECIFICALLY DISCLAIM ALL WARRANTIES, INCLUDING WITHOUT LIMITATION WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE. NO WARRANTY MAY BE CREATED OR EXTENDED BY SALES OR PROMOTIONAL MATERIALS. THE ADVICE AND STRATEGIES CONTAINED HEREIN MAY NOT BE SUITABLE FOR EVERY SITUATION. THIS WORK IS SOLD WITH THE UNDERSTANDING THAT THE PUBLISHER IS NOT ENGAGED IN RENDERING LEGAL, ENGINEERING, OR OTHER PROFESSIONAL SERVICES. IF PROFESSIONAL ASSISTANCE IS NEEDED, THE SERVICES OF A COMPETENT PROFESSIONAL PERSON SHOULD BE SOUGHT. NEITHER THE PUBLISHER NOR THE AUTHOR SHALL BE LIABLE FOR DAMAGES ARISING HEREFROM. THE FACT THAT AN ORGANIZATION OR WEBSITE IS REFERRED TO IN THIS WORK AS A CITATION AND/OR A POTENTIAL SOURCE OF FURTHER INFORMATION DOES NOT MEAN THAT THE AUTHOR OR THE PUBLISHER ENDORSES THE INFORMATION THE ORGANIZATION OR WEBSITE MAY PROVIDE OR RECOMMENDATIONS IT MAY MAKE. FURTHER, READERS SHOULD BE AWARE THAT INTERNET WEBSITES LISTED IN THIS WORK MAY HAVE CHANGED OR DISAPPEARED BETWEEN WHEN THIS WORK WAS WRITTEN AND WHEN IT IS READ.
Index
Table of Contents
Introduction
Electron is a JavaScript framework for building native, cross-platform desktop software. Simply speaking if you can create a basic web page, then you can build desktop software with Electron.
If you have a firm grasp on HTML, CSS, and JavaScript, then lets move forward. Learning Electron is so easy it is redonkulous! All we have to do is set up our project and we are good to go.
In this book we will first go through a little bit of history of software development. Hit and run topics like JavaScript & ES6. Then we will learn TypeScript and Electron, an ultimate combo that will put us right up there in the big leagues. This book will also cover UI/UX Design principles, maxims, etc. In the end we have some Case Studies to learn a little bit about the competition.
Electron based applications are indistinguishable from other desktop software, with Electron we can build high performing software for Windows, Linux, and MacOS. Apps like Skype, VS code, etc. are all based on the Electron framework.
At first Electron was for the development of GitHub's code editor Atom. Now companies like Microsoft are adopting the JavaScript Everywhere movement! The unique nature of JavaScript renders it the best choice for 9 out of 10 of our everyday software needs.
The ultra fast evolution of JavaScript is pushing the boundaries of Technology and Economics. For the first time in our history we are able enter the market with ease, and meet our increasing software needs. Electron is in fact a significant part of an economic revolution in the tech field! The rise of the JavaScript Everywhere movement means more and better software for everyone!
JavaScript is easy to learn, has a strong community, and its projects are inexpensive. Imagine having a web development firm evolving into a software engineering firm! If they chose to use Electron, staff training will be inexpensive, will last about a week, and will pay off big time!
JavaScript has no limitations! Its Open, it doesn't force us to use an expensive, proprietary IDE or OS. It doesn't force us to pay a hefty amount to publish our applications either!
JavaScript runs on front-end inside browsers like Firefox, and Chrome. It has NodeJS for back-end. For mobile, and desktop platforms it has React Native, and Electron!
JavaScript also has a lightweight engine called JerryScript for micro-controllers. It requires less than 64kb RAM, and less than 200kb ROM to run. JerryScript has on-device compilation, execution, and peripherals able to integrate with JavaScript.
Samsung has IoT.js, a library that allows us to work with IoT using JavaScript.
Most of these technologies are open-source.
This book intends to give the reader all the tools required to master Electron. It puts us through a robust training regime including lessons, code narrations, advanced projects, case studies, and more. The end goal is to give the readers a strong foundation, and equip them with tools required to master desktop software development.
Prerequisites:-
- Elementary knowledge and some experience of HTML, CSS, JavaScript, and NodeJS is required.
- Some experience using the Terminal/CMD is required.
- Some programming experience is required, even if its in languages other than JavaScript.
- Access to a Computer is required and Internet is required, you will be asked to read the latest documentation on Electron modules for time to time, and you will also need to use NPM to install packages over the internet.
We will be using a Linux Distro in this book, however all the instructions are similar for Windows, and MacOS. Where instructions are different, separate instructions maybe provided. However MacOS users need to be aware of developer specific restrictions on MacOS and related products. MacOS will sometime require additional instruction, which will easily be found in Electrons documentation, links to which are often provided.
The stronger your grasp is on these tools the better apps you will be able to develop. So if you have a fundamental level of skill already developed in the required technologies then you can move on to the first chapter. If no then go read the book "Simply Web Development Anna Voice and Ray Voice" and then boomerang back here. Good luck!
About Authors
Follow on Twitter: @RayShortHead
Ray Voice is an entrepreneur, and a bestselling author. He is the MD and CEO of Ray & A Group Solutions. A Tech based business consulting firm. He is a lifelong entrepreneur, having started his first company when he was 16 years of age, has over 8 years of teaching experience that spreads over teaching music production, computer science, economics, mathematics, physics, classical literature, and more. His passion for writing, science, and teaching, and his aptitude for a vast range of domains, paired with his bold entrepreneurial form are the primary driving factors of his success as an author, and entrepreneur. He enjoys writing both academic, and fiction literature; having published the books "Work life of Jessica", and "Our lives" in the fiction genre, and the books Simply ES6, Simply Web Development, Simply Vim, etc. in academic domain.