Ups and Downs of Creating a Web App
As I sit down to write this blog post, I'm filled with a sense of accomplishment and excitement. It's been quite a journey—a journey into the world of JavaScript, where I've learned about functions, array methods, DOM manipulation, and so much more. In this post, I want to share my personal experiences, challenges, and insights gained along the way from learning to executing code.
The Starting Point: Functions and the Power of Reusability
I started this journey with JavaScript functions. Functions are the building blocks of JavaScript, allowing us to encapsulate reusable blocks of code. I remember the first time I wrote a simple function—it was chunky and not very reusable but as I played around with the code and gained more experience and confidence I felt like I had unlocked a superpower of writing reusable code. (Still, lots of room for improvement though 🙂)
But, of course, that was just the start and bigger challenges were on their way. I started grappling with concepts like scope, closures, and asynchronous code execution. It was a steep learning curve, but with each challenge, I gained more confidence in my level of JavaScript knowledge and code writing.
Exploring the World of Arrays and Iteration
As I dived deeper into JavaScript, I encountered arrays and iteration. JavaScript's array methods, such as map, filter, and reduce, opened up new possibilities for data manipulation. I couldn't help but be amazed by these methods' functionality and the thought that has gone behind them.
The DOM: Where JavaScript Meets the Web
The Document Object Model (DOM) was another fascinating aspect of my journey. It was where JavaScript met the web, allowing me to create interactive web pages. Although At first working with the DOM without any experience didn't help as everything was a vague concept in my mind, as I started to work with it myself it made perfect sense.
The DOM is where all of the CSS, and HTML added inside of JS or vice versa is tied together and rendered as one complete document that can be tested and manipulated. A heaven for a developer really.
The Ultimate Challenge: Putting it All Together
The ultimate test of my newfound knowledge came when I had to build a web app. It was a moment of truth, where I had to apply functions, array methods, DOM manipulation, and everything else I'd learned.
One of the challenges was making sure my code was organized and modular. I had to create functions that were reusable and easy to maintain and read. This required careful planning, design and patience because you will always need to go back and tweak those plans and designs.
Additionally, handling user interactions has its own set of challenges. It made me really appreciate the smallest details that had flown past my head previously visiting other web pages. I had to use event listeners to respond to user actions and update the DOM accordingly. Console.logging to debug became my closest friend as I encountered unexpected errors along the way.
The Reward: A Functional and Interactive Web App
Despite the challenges, the reward of creating this simple web page was immensely satisfying. It was a baby step but it meant a lot. I had created a web app that not only worked but was also efficient and interactive. Users could search for books, apply filters, and see the results dynamically updated on the page—all thanks to JavaScript's functions, array methods, and DOM manipulation.
This journey taught me more than just coding skills. It taught me problem-solving, persistence, and the importance of good resources to go back to. I could now tell myself that I can think with a different logic that is the foundation of writing good code.
Note to self
Being able to look at a block of code and understanding the logic behind this virtual mechanism and why it works the way it does is the key to comprehending the code from a deeper aspect.
A well-engineered page of code is the same as a sold, elegant and modern skyscraper. In the sense that it is reliable, clean and efficient.
You could be only a step away from a functional block of code so be patient.
The Ongoing Adventure
My journey into Code is far from over. With each project and challenge, I discover new aspects of these versatile languages. I look forward to growing my knowledge and understanding of good code.
In conclusion, learning JavaScript functions, array methods, and DOM manipulation has been a rewarding adventure filled with challenges and breakthroughs. It's a journey that has given me the tools to take a step towards writing dynamic and interactive code, And it's a journey that I'm excited to continue as I explore the ever-evolving world of software engineering.
Thank you for joining me on this journey, and I hope my experiences and insights inspire others on their own coding adventures.
Happy coding! 🚀