In this rant series I would like to discuss a little bit about the new era of software development, users trends, security an son on.
While that verbose rant is going I will introduce a series of guides to design , prepare,code and deploy micro applications using GO.
First Question ... why GO?
Well... Go is simple, very simple to learn, is cross-platform (or at least easier than many) is super fast compare with other cross-platform frameworks, the community is growing exponentially fast.
Building with Go in my opinion has major takeaways.
Simplicity of deployment and roll outs.
Security, as long as you care about the communication layer.
Performance, as many task can be delegated to the client in a more efficient way.
For the sake of order, we will be following , generally this index:
- Structuring Go Projects ( What I found to be more easy to follow)
- Golang Web with net/http and Gorilla Mux
- Templating with GO
- Serving Vue.js application (Why Vuejs... well...check later)
- Embedding databases ( bbolt with a few disclaimers and twists)
- gRPC , protobuf
- Client Server Communication
- Security, TLS and mtls.
- Publishing on the internet, securing applications,
So we have a quite to cover.
Let's narrow a bit the scope for those looking for specifics...
We are going to talk about distributed systems while we code server-less applications, that can serve as both client and server, that can run locally to the user and communicate remotely.
[RANT START HERE]
Why? Well we are in the verge of a big change, or at least we are witnessing a technological revolution.
New generations grow with tech in their cribs. They consume information faster and at a younger age. So it's only reasonable that we need to start considering this to build the next layers of society.
We witness the danger of monopoly in a digitized world. Major vendors control influences, tells us what to do, what to wear, and people are seeking more resilient and dependable services.
New generations are seeing this, and freedom, or what we know as freedom has become an emblem.
But freedom without responsibility, without accountability, is not freedom. True freedom is both, being accountable and own our decisions.
And in this verge is where us, the older generations, and the systems we lay and build, along with the speed and the new technology grown humans can have a chance for creating self sustain , resilient, mature software.
In this "extremely extensive" series will try to give my grain of sand, by teaching what I believe is the root for owning software.
[END OF RANT ]
Hope you enjoy it :)