<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Victor Okoye</title>
    <description>The latest articles on Forem by Victor Okoye (@veecee).</description>
    <link>https://forem.com/veecee</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1702074%2F9fd4b4ab-8561-4f9f-ac8d-0eba149f6699.jpeg</url>
      <title>Forem: Victor Okoye</title>
      <link>https://forem.com/veecee</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/veecee"/>
    <language>en</language>
    <item>
      <title>ReactJS vs. VueJS: A Comprehensive Comparison for Frontend Development</title>
      <dc:creator>Victor Okoye</dc:creator>
      <pubDate>Sat, 29 Jun 2024 06:40:37 +0000</pubDate>
      <link>https://forem.com/veecee/reactjs-vs-vuejs-a-comprehensive-comparison-for-frontend-development-1nam</link>
      <guid>https://forem.com/veecee/reactjs-vs-vuejs-a-comprehensive-comparison-for-frontend-development-1nam</guid>
      <description>&lt;p&gt;Frontend development is evolving rapidly, and developers have a plethora of frameworks and libraries to choose from. Among the most popular are ReactJS and VueJS. Both offer unique features and benefits, making them powerful tools for building modern web applications. This article will provide an in-depth comparison of ReactJS and VueJS, highlighting their differences, advantages, and why ReactJS might be the ideal choice for your next project. I have used ReacJS more than I have used VueJS. So, based on my experience and some research, I will share my thoughts about the two below.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;ReactJS&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fizajpy181kjiuac1f400.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fizajpy181kjiuac1f400.jpg" alt="Image description" width="658" height="448"&gt;&lt;/a&gt;&lt;br&gt;
ReactJS, developed by Facebook, is a JavaScript library for building user interfaces, particularly single-page applications where data changes over time. React allows developers to create large web applications that can update and render efficiently in response to data changes. React uses a component-based architecture, making it easier to manage and maintain the code.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;VueJS&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwcz6v0nal1y8gghd7uga.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwcz6v0nal1y8gghd7uga.PNG" alt="Image description" width="800" height="420"&gt;&lt;/a&gt;&lt;br&gt;
VueJS, created by Evan You, is a progressive JavaScript framework used for building user interfaces. Unlike other monolithic frameworks, Vue is designed from the ground up to be incrementally adoptable. The core library focuses on the view layer only, and it's easy to pick up and integrate with other libraries or existing projects.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Differences Between ReactJS and VueJS
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Learning Curve&lt;/strong&gt;:&lt;br&gt;
React has a steeper learning curve, particularly for beginners. It requires understanding JSX, a syntax extension that allows writing HTML within JavaScript, and familiarity with ES6+ features.&lt;br&gt;
Vue is often praised for its gentle learning curve. It uses an HTML-based template syntax, making it more approachable for new developers or those with experience in HTML and JavaScript.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Flexibility and Ecosystem&lt;/strong&gt;:&lt;br&gt;
React offers more flexibility in how you structure your application and the tools you use. However, this flexibility can sometimes be overwhelming for beginners. React relies on a rich ecosystem of third-party libraries for tasks like state management (Redux, MobX) and routing (React Router).&lt;br&gt;
Vue provides a more integrated and opinionated approach. It comes with official libraries for state management (Vuex) and routing (Vue Router), offering a more consistent development experience.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Performance&lt;/strong&gt;:&lt;br&gt;
React uses a virtual DOM to optimize rendering. It efficiently updates and renders components, resulting in high performance for dynamic applications.&lt;br&gt;
Vue also uses a virtual DOM and offers similar performance benefits. In some cases, Vue's reactivity system, which tracks dependencies during rendering, can provide even more efficient updates.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Community and Support&lt;/strong&gt;:&lt;br&gt;
Backed by Facebook, React has a large and active community. This means a wealth of resources, tutorials, and third-party libraries are available.&lt;br&gt;
While not backed by a tech giant, Vue has rapidly grown in popularity and boasts a strong community. Its ecosystem is mature, and there are plenty of resources and plugins available.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Integration and Scalability&lt;/strong&gt;:&lt;br&gt;
React's flexibility makes it suitable for a wide range of applications, from small projects to large, complex enterprise-level applications. Its modularity allows for easy integration with other tools and technologies.&lt;br&gt;
Vue is excellent for integrating into projects incrementally. It's highly scalable, but its opinionated nature might require more consideration for very large applications.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;My preference of the two is ReactJS. There are several reasons for that:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;React's popularity and widespread use in the industry translate to numerous job opportunities. Learning React can significantly enhance a developer's career prospects as a frontend developer.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;React's modular nature and component-based architecture make it ideal for large projects and team collaboration. It encourages best practices, such as code reuse and separation of concerns, leading to more maintainable and scalable codebases.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Working with React exposes developers to modern JavaScript practices and tools. React encourages the use of ES6+ features, TypeScript, and modern build tools, fostering continuous learning and professional growth.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Both ReactJS and VueJS are powerful tools for frontend development, each with its unique strengths. While VueJS offers a gentle learning curve and integrated ecosystem, ReactJS stands out with its robust ecosystem, strong community support, and flexibility. React's component-based architecture, performance optimization, and extensive career opportunities make it an excellent choice for developers looking to build scalable and maintainable web applications.&lt;/p&gt;

&lt;p&gt;This is one of the reasons why I have joined the &lt;a href="https://hng.tech/internship"&gt;HNG Tech's internship&lt;/a&gt; - to enhance my Frontend web development skills as a full stack developer. ReactJS is the major focus for Frontend interns at HNG Tech's internship. I hope to learn a lot, network a lot, and to graduate as one of the best interns, and get hired by a big company through &lt;a href="https://hng.tech/hire"&gt;HNG Tech's Hire&lt;/a&gt; platform. &lt;/p&gt;

&lt;p&gt;In conclusion, either ReactJS or VueJS is fine. It all depends on what you really want to achieve with the framework. Take a look again at the comparison and go for the one that suits you best. For me, as a full stack developer, I love ReactJS, and I am sticking with it for a really long time for my Frontend tasks.&lt;/p&gt;

&lt;p&gt;Good Luck, Buddy.&lt;/p&gt;

&lt;p&gt;See you again.&lt;/p&gt;

</description>
      <category>react</category>
      <category>vue</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Good Approach, Bad Approach: My Experience As A Full Stack Developer.</title>
      <dc:creator>Victor Okoye</dc:creator>
      <pubDate>Sat, 29 Jun 2024 05:29:15 +0000</pubDate>
      <link>https://forem.com/veecee/good-approach-bad-approach-my-experience-as-a-full-stack-developer-5gl0</link>
      <guid>https://forem.com/veecee/good-approach-bad-approach-my-experience-as-a-full-stack-developer-5gl0</guid>
      <description>&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;Just a little introduction here before we delve into the main topic of this post.&lt;/p&gt;

&lt;p&gt;I am Victor, a full stack software developer of about half a decade.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzzps5bpfqu6m5e8thwvr.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzzps5bpfqu6m5e8thwvr.jpg" alt="Myself at my workstation" width="584" height="584"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In my early days in the world of Tech and Software Development specifically, I thought that I was supposed to learn everything there is to learn as long as it is a useful skill in the Tech industry. As I was learning Python, I was also learning Data Science. After a while I added Computer Networking to the list because I came across a video on Computer Networking, and the guy in the video was very nice and articulated with his explanations and illustrations. I thought this might be useful in this journey. Then I started with it too. Similar situation with UIUX Design, Mobile Develpment - Flutter/Dart (though my laptop at the time couldn't bear the weight of the all mighty Flutter - I was using Hp Pavilion g series, windows 10 Pro. Incapable of virtualization). I also added PHP to the list - I did PHP for more than a year, but mostly with a private framework that a friend and mentor(iceztech) built - awesome framework. All these, with no expertise in any (at the time).&lt;br&gt;
I was also learning some basic IT stuff like Microsoft Office (I even tutored some people at the time on how to use the MSO apps really effectively), Typing (with Mavis Beacon), etc.&lt;/p&gt;

&lt;p&gt;These were not total waste of time though because they have been helpful to me in one way or another along the line. But the point here is that the process I used while learning made it rather difficult for me to actually focus on one track (Python, for example) and become a professional in it, quickly. It rather made everything extremely slow and even difficult, unnecessarily.&lt;/p&gt;

&lt;p&gt;And this leads me to the topic at hand - MY EXPERIENCE AS A SOFTWARE DEVEOPLER (full stack). This is not just any experience, but my earlier days' experience as a 'senior newbie' - more like an early intermediate web developer, at the time.&lt;br&gt;
I got a gig to develop an investment app that is supposed to be using crypto addresses; you deposit and get interests every week day...&lt;/p&gt;

&lt;p&gt;I had not built any full stack app prior to that. So, I knew for sure that it was going to be very challenging for me. But that is the point - growing in the process, and earning at the same time.&lt;br&gt;
I had friends that could have helped me complete the app in about a week or two, but I decided to do it all by myself. I took as a challenge. Remember it was my first lone full stack gig. I was determined to do everything within my power to complete it all by myself. And I did.&lt;/p&gt;

&lt;p&gt;The app is a web application. At the time, I had just finished learning the Full Stack Web Development at a company (remotely) called DUFUNA - a Tech company that specializes in grooming newbies into intermediate developers, through training from the scratch to hiring the available graduates for internship, etc. MERN stack and PHP were at the center of the training.&lt;br&gt;
So I decided to use the MERN stack for the gig because I had fallen in love with the stack. It has a kind of sweet flexibility.&lt;/p&gt;

&lt;p&gt;How did the development process go?&lt;/p&gt;

&lt;p&gt;I started with the frontend (ReactJs), converting the figma design that I was given. The most difficult part was building the backend part with NodeJs. It was so difficult, I had to resort to videos from YouTube and some I already had in my PC. It was a big learning experience but it wasn't the nicest experience.&lt;br&gt;
The app was supposed to be 'simple', but the development process dragged on for about 2 to 3 months as I was struggling with a lot of things.&lt;/p&gt;

&lt;p&gt;A lot of the things I did during the development process of this app were my first time of doing them - like using Redux, toastify, useNavigate, admin site of the app, etc. A lot of things were messed up in the app during development. And the client had to wait for too long to use the app. And I almost got myself into trouble.&lt;/p&gt;

&lt;p&gt;But I was able to pull through after all. I completed and deployed the app safely.&lt;br&gt;
It was my biggest and daring challenge in my Tech career so far. And the experience was a bitter-sweet one.&lt;/p&gt;

&lt;p&gt;This experience thought me that, inspite of all the things that I had learnt at the time (PHP, Data Science, MS Office, UIUX, Computer Networking, etc), I still could barely complete a simple web app on my own. I thought about it, and I realized that IT IS NOT ABOUT 'HOW MANY', BUT 'HOW WELL'.&lt;/p&gt;

&lt;p&gt;YOU CANNOT BE A MASTER AT EVERYTHING!&lt;/p&gt;

&lt;p&gt;Pick a technology/programming language of your choice. Focus squarely on  it alone. Keep on going deeper and deeper into this particular technology/language until you can comfortably develop a full-fledged app even in your dreams, without getting unreasonably stuck on the way. Until you can comfortably and proudly say to anybody anywhere that this is what you do, and can prove it. Then you can add another technology/language to the list, and apply the same process to it as the first one.&lt;/p&gt;

&lt;p&gt;This is the approach I think is best for learning and development in Tech. This ensures mastery and professionalism; and that is what we should all aim for.&lt;/p&gt;

&lt;p&gt;So, my friend, learn one technology at a time; not multiple technologies at once. These are two negating approaches to building a career in Tech.&lt;br&gt;
And this is not just appicable in Tech, it applicable in any sphere of human endeavour as far as 'learning' and 'mastery' are concerned.&lt;/p&gt;

&lt;p&gt;For this reason, I have also decided to join an internship program by &lt;a href="https://hng.tech/internship"&gt;HNG Tech&lt;/a&gt;. This will help me improve my skills a lot, increase my network, and generally expand my horizon in Tech. Plus, I aim to graduate as one of the best, and to get hired by a big company through &lt;a href="https://hng.tech/hire"&gt;HNG Tech Hire&lt;/a&gt;. There is another form of HNG Tech's internship program called &lt;a href="https://hng.tech/premium"&gt;HNG Tech Premium&lt;/a&gt;. But I decided to go first for the free internship. After my experience in the free internship, I might decide to go for the Premium version of it, if need be - it promises to have a lot more benefits to it. Check out these links. They might be helpful to you or any of your acquaintances.&lt;/p&gt;

&lt;p&gt;Again, narrow down your learning process to 'one technology at a time'. Learn it really well before adding another one to the list. You will thank yourself soon or later for that.&lt;/p&gt;

&lt;p&gt;IT'S NOT "HOW MANY" BUT "HOW WELL"&lt;/p&gt;

&lt;p&gt;Alright. I will see you next time.&lt;/p&gt;

&lt;p&gt;Bye.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
