If you are wondering what programming languages I know, well I wouldn’t exactly say I am good at them but I can write programs in JavaScript, TypeScript, Python, Go, Dart, Bash as well as a little of Java and C/C++. I know TypeScript isn’t exactly a language but after Deno, you can say so. I wouldn’t brag about it but I used to work on PHP in the early days.
So does having the baggage of these many languages worth it? Well, it depends who you ask but my answer is always, Yes. Actually, I am planning to learn Rust…
electron-builder
and distribute this application using GitHub releases.In the previous lessons, we learned how to create Electron applications and how to use electron-weback
to bundle the application source. So far, we haven’t packaged the application as we were only running the application using either the $ electron
or $ electron-webpack
commands.
In this lesson, we are going to create distribution files for an Electron application such as .dmg
or .pkg
for macOS or .msi
for Windows and host them right on our GitHub repository. This will allow our users to download the platform-specific installation file of the application.
electron-webpack
package. This package also provides HMR support out of the box, so we will dive deep into that as well.In the previous lessons, we worked on some simple Electron applications. In the introductory lesson, we created an Electron application to display a random image from the internet. In the File IO lesson, we worked on project structure and understood a few important development concepts.
However, during the development of these applications, wherever we made some changes in the source code, we had to rebuild the application by re-executing the $ npm run start
command. This happens since $ npm run start
command (which internally runs electron .
command) does not watch file changes on the disk.
We have two…
In the previous lesson, we learned about the anatomy of an Electron application and how main
and renderer
processes play their role in the lifecycle of the application. We also built a sample app to resize and display a random image from the internet.
⚠️ → If you haven’t read the previous lesson, please do. Most of the things explained in this lesson won’t make sense unless you get an overview of how Electron applications work.
In this lesson, we are going to create a sample Electron application with the following objectives:
Would you believe me if I said Slack, VSCode, Atom, Skype, Discord, and Whatsapp desktop applications you are using right now were written using are HTML, CSS, and JavaScript? Probably not. Because in our day to day lives, we only use these languages for designing websites.
But what if a desktop application internally uses a browser for GUI (what the user sees)? Then we could technically use these languages to render the application UI. This is exactly what’s happening inside the apps above. …
Heroku is a PaaS (platform as a service) provider. Using Heroku, we can deploy applications on the cloud in a matter of seconds. It supports many programming languages such as Java, Node.js, Python, PHP, Go, etc.
Things that set Heroku apart from other platforms such as AWS, Google Cloud, or Azure for that matter is the ease of deploying your applications to the cloud. Though Heroku provides enterprise-level features, it is one of the easiest platforms out there to quickly deploy and test your applications.
For example, if you want to deploy the documentation (as a website) of your open-source…
In the previous lessons, we discussed the basics of Docker. We learned the anatomy of Docker containers, the structure of a Dockerfile, how to create images, how to manage containers, etc. This is just the basic information we need to know in order to operate Docker.
If our application is as simple as an HTTP server, we can run it inside a single Docker container. You can create a custom Docker image, copy the application code to the image, and run a container from it. You can mount a volume for persistent data storage and bind a port on the…
In the previous lessons, we learned a great deal about Docker, Dockerfile, Docker images, and Docker containers. We understood the isolated nature of a Docker container and how to connect with a running container using -p
(or --publish
) flag to map a host port to a container port for network access or -v
(or --volume
) flag to access files of a container from the host.
In this lesson, we are going to talk about the networking aspect of the containerization process. …
In the previous lessons, we learned about the anatomy of Docker images, how Docker containers work, how to create a Docker image from a Dockerfile, and learned a few characteristics of Docker images. However, we did not focus on sharing a Docker image with the world. In this lesson, we are going to learn just that as well as Docker image tags.
For this lesson, we are going to create a simple Docker image that prints a version number to the console when a container is created from it. …
In the previous lesson, we learned how to create a Docker image using a Dockerfile as well as creating and managing Docker containers. We discussed a few Dockerfile instructions such as FROM
, WORKDIR
, ADD
, COPY
, CMD
, etc. and how they contribute to the image-building process.
In this lesson, we are going to discuss the ENTRYPOINT
instruction to create a Docker container that acts like an executable. We will also discuss how to share files between a Docker container and the host machine.
For this lesson, we are going to use Go (golang) to write an image processing program. Therefore, we…