<?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>DEV Community: Saša M</title>
    <description>The latest articles on DEV Community by Saša M (@smikodanic).</description>
    <link>https://dev.to/smikodanic</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%2F1092919%2F8c60f9ed-c414-4423-9f28-0884c3976776.jpeg</url>
      <title>DEV Community: Saša M</title>
      <link>https://dev.to/smikodanic</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/smikodanic"/>
    <language>en</language>
    <item>
      <title>New frontend MVC Framework - DoDo</title>
      <dc:creator>Saša M</dc:creator>
      <pubDate>Fri, 02 Jan 2026 16:24:48 +0000</pubDate>
      <link>https://dev.to/smikodanic/new-frontend-mvc-framework-dodo-285j</link>
      <guid>https://dev.to/smikodanic/new-frontend-mvc-framework-dodo-285j</guid>
      <description>&lt;p&gt;The DODO is unique MVC-based frontend framework. It prioritizes a traditional Model-View-Controller architecture over the prevalent component-based model found in React or Vue. The framework operates without a Virtual DOM, ensuring lightweight and fast performance by manipulating the DOM directly. It uses custom dd- attributes for data binding and view management within standard HTML files. Developers can initialize projects quickly using the CLI command&lt;br&gt;
&lt;br&gt;
 &lt;code&gt;npm init dodo@latest&lt;/code&gt;&lt;br&gt;
&lt;br&gt;
 The repository includes support for building SPAs, mobile apps, and desktop applications via Electron. It is designed for simplicity, relying on Vanilla JavaScript logic for routing and state management. The project is open-source under the MIT License, promoting a clean separation of concerns. This structure is ideal for those seeking a more traditional software engineering approach to web development.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/miko-soft/dodo" rel="noopener noreferrer"&gt;https://github.com/miko-soft/dodo&lt;/a&gt;&lt;br&gt;
&lt;a href="http://dodo.mikosoft.info" rel="noopener noreferrer"&gt;http://dodo.mikosoft.info&lt;/a&gt;&lt;/p&gt;

</description>
      <category>frontend</category>
      <category>rective</category>
      <category>angular</category>
      <category>react</category>
    </item>
    <item>
      <title>Why I Do NOT Like React</title>
      <dc:creator>Saša M</dc:creator>
      <pubDate>Sun, 08 Dec 2024 11:22:42 +0000</pubDate>
      <link>https://dev.to/smikodanic/why-i-do-not-like-react-1kef</link>
      <guid>https://dev.to/smikodanic/why-i-do-not-like-react-1kef</guid>
      <description>&lt;h1&gt;
  
  
  Why I Do NOT Like React
&lt;/h1&gt;

&lt;p&gt;React is one of the most popular JavaScript libraries, but despite its widespread adoption, I’ve never been a fan. Here’s why I find it confusing, outdated at its core, and unnecessarily complicated—and why I’ve decided to create my own solution, &lt;strong&gt;Dodo Framework&lt;/strong&gt;.  &lt;/p&gt;

&lt;h2&gt;
  
  
  1. &lt;strong&gt;Confusing and Hard to Understand&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;React's learning curve is steep, especially for beginners. While it promises simplicity, the reality is different. You have to understand JSX (a mix of JavaScript and HTML), components, state management, and the virtual DOM just to get started.  &lt;/p&gt;

&lt;p&gt;Moreover, React often requires developers to juggle between different concepts, such as lifecycle methods and complex state management libraries like Redux or Context API. For newcomers, it’s overwhelming; for experienced developers, it’s tedious.  &lt;/p&gt;

&lt;h2&gt;
  
  
  2. &lt;strong&gt;Outdated Roots&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;React was created in 2013, before many modern JavaScript features like &lt;strong&gt;ES6 classes&lt;/strong&gt;, &lt;strong&gt;async/await&lt;/strong&gt;, and &lt;strong&gt;Promises&lt;/strong&gt; became standard. Although React has adapted to some of these changes, its core still reflects an older JavaScript ecosystem.  &lt;/p&gt;

&lt;p&gt;For example, React initially relied on class components, which have since been largely replaced by hooks. This shift has caused confusion and inconsistency in codebases as developers have to decide between the "old way" (class components) and the "new way" (hooks).  &lt;/p&gt;

&lt;h2&gt;
  
  
  3. &lt;strong&gt;Hooks: A Mixed Blessing&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Hooks were introduced as a way to simplify React development, but they’ve often made things worse. While hooks eliminate the need for class components, they introduce new problems:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Complex State Logic:&lt;/strong&gt; Managing state with hooks like &lt;code&gt;useState&lt;/code&gt; and &lt;code&gt;useReducer&lt;/code&gt; can quickly become a tangled mess.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dependency Arrays:&lt;/strong&gt; Forgetting or mismanaging the dependency array in &lt;code&gt;useEffect&lt;/code&gt; can lead to bugs that are hard to debug.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rules of Hooks:&lt;/strong&gt; The strict rules of hooks (e.g., "don’t call hooks inside loops or conditionals") are unintuitive and add to the learning curve.
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  4. &lt;strong&gt;Bloated Ecosystem&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;React’s simplicity often comes at the cost of requiring numerous additional libraries for tasks like routing (React Router), state management (Redux, MobX, Context API), and form handling. This bloated ecosystem means developers spend more time learning libraries and keeping them updated than focusing on building applications.  &lt;/p&gt;

&lt;h2&gt;
  
  
  5. &lt;strong&gt;Overhyped Performance Claims&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;React’s virtual DOM is often touted as a performance boost, but in many cases, the performance gain is negligible or even counterproductive compared to optimized direct DOM manipulation. The complexity of reconciling the virtual DOM with the real DOM can sometimes introduce inefficiencies.  &lt;/p&gt;

&lt;h2&gt;
  
  
  6. &lt;strong&gt;Verbose and Boilerplate-Heavy&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;React’s code is verbose. The requirement to wrap components in &lt;code&gt;&amp;lt;div&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;Fragment&amp;gt;&lt;/code&gt;, or &lt;code&gt;&amp;lt;Provider&amp;gt;&lt;/code&gt; components leads to deeply nested structures. Coupled with state and prop drilling, this verbosity makes React code harder to read and maintain.  &lt;/p&gt;




&lt;h2&gt;
  
  
  Introducing the &lt;strong&gt;Dodo Framework&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Frustrated with React’s shortcomings, I decided to create my own solution: the &lt;strong&gt;Dodo Framework&lt;/strong&gt;. Dodo is designed to be:  &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Simple and Intuitive:&lt;/strong&gt; Dodo eliminates unnecessary complexity, focusing on clean, minimal syntax.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Modern from the Ground Up:&lt;/strong&gt; Built with modern JavaScript in mind, it leverages ES6+, async/await, and promises for a seamless developer experience.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hooks-Free:&lt;/strong&gt; Forget about tangled &lt;code&gt;useState&lt;/code&gt; or &lt;code&gt;useEffect&lt;/code&gt;—Dodo uses straightforward state management and lifecycle handling.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lightweight and Fast:&lt;/strong&gt; Dodo doesn’t rely on a virtual DOM, focusing instead on direct, optimized DOM interactions for faster rendering.
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If React has left you frustrated, give Dodo Framework a try. It’s my answer to the problems that React introduced to the JavaScript world. Check it out here: &lt;strong&gt;&lt;a href="http://dodo.mikosoft.info" rel="noopener noreferrer"&gt;http://dodo.mikosoft.info&lt;/a&gt;&lt;/strong&gt;.  &lt;/p&gt;

&lt;p&gt;React may have been revolutionary in its time, but the time has come for a simpler, more modern alternative. That’s why I built Dodo Framework. Let’s make web development enjoyable again.  &lt;/p&gt;

</description>
    </item>
    <item>
      <title>DoDo Framework</title>
      <dc:creator>Saša M</dc:creator>
      <pubDate>Mon, 26 Aug 2024 16:08:38 +0000</pubDate>
      <link>https://dev.to/smikodanic/dodo-framework-1f79</link>
      <guid>https://dev.to/smikodanic/dodo-framework-1f79</guid>
      <description>&lt;p&gt;Here are five reasons why you should consider using the &lt;a href="http://dodo.mikosoft.info" rel="noopener noreferrer"&gt;DoDo framework&lt;/a&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Ease of Learning&lt;/strong&gt;: DoDo is designed to be easy to learn, making it accessible for developers of all skill levels¹.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Versatility&lt;/strong&gt;: It supports a wide range of applications, including mobile apps, browser extensions, and desktop apps¹.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Model-View-Controller (MVC) Structure&lt;/strong&gt;: Unlike many modern frameworks, DoDo uses the MVC structure, which can make your code more organized and maintainable².&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Performance&lt;/strong&gt;: DoDo is built with modern ES6+ JavaScript and powered by Vite, ensuring fast compilation and lightweight applications¹.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Productivity&lt;/strong&gt;: With built-in libraries for authentication, HTTP client, form handling, and more, DoDo helps you be more productive by reducing the need for additional dependencies².&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Would you like to know more about any specific feature, please comment.&lt;/p&gt;

&lt;p&gt;(1) @mikosoft/dodo - npm. &lt;a href="https://www.npmjs.com/package/@mikosoft/dodo" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/@mikosoft/dodo&lt;/a&gt;.&lt;br&gt;
(2) GitHub - miko-soft/dodo: The DoDo is an easy to learn JavaScript .... &lt;a href="https://github.com/miko-soft/dodo" rel="noopener noreferrer"&gt;https://github.com/miko-soft/dodo&lt;/a&gt;.&lt;br&gt;
(3) GitHub - miko-soft/create-dodo: The DoDo Framework starter.. &lt;a href="https://github.com/miko-soft/create-dodo" rel="noopener noreferrer"&gt;https://github.com/miko-soft/create-dodo&lt;/a&gt;.&lt;br&gt;
(4) &lt;a href="http://dodo.mikosoft.info" rel="noopener noreferrer"&gt;http://dodo.mikosoft.info&lt;/a&gt;&lt;/p&gt;

</description>
      <category>dodo</category>
      <category>spa</category>
      <category>framework</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Streamlining Data Extraction and Automation with DEX8.com</title>
      <dc:creator>Saša M</dc:creator>
      <pubDate>Wed, 10 Apr 2024 07:50:04 +0000</pubDate>
      <link>https://dev.to/smikodanic/streamlining-data-extraction-and-automation-with-dex8com-9md</link>
      <guid>https://dev.to/smikodanic/streamlining-data-extraction-and-automation-with-dex8com-9md</guid>
      <description>&lt;p&gt;Are you tired of spending hours manually collecting data from websites? Look no further than &lt;a href="https://www.dex8.com"&gt;DEX8&lt;/a&gt;! Our platform offers a comprehensive suite of services designed to streamline data extraction and task automation.&lt;/p&gt;

&lt;p&gt;With &lt;a href="https://www.dex8.com"&gt;DEX8&lt;/a&gt;, you can easily collect data from various online sources with just a few clicks. Our intuitive web panel allows you to create custom scripts and workflows tailored to your specific needs, whether you're a developer or non-technical user.&lt;/p&gt;

&lt;p&gt;Gone are the days of tedious manual data entry. &lt;a href="https://www.dex8.com"&gt;DEX8&lt;/a&gt; automates repetitive tasks, allowing you to focus on more important aspects of your business. Whether you need to collect pricing data for market analysis or monitor social media trends, &lt;a href="https://www.dex8.com"&gt;DEX8&lt;/a&gt; has you covered.&lt;/p&gt;

&lt;p&gt;Our platform is built with efficiency and scalability in mind, ensuring that you can handle large volumes of data with ease. Plus, our dedicated support team is always on hand to assist you every step of the way.&lt;/p&gt;

&lt;p&gt;Experience the power of seamless data extraction and automation with &lt;a href="https://www.dex8.com"&gt;DEX8&lt;/a&gt; today. Sign up for a free account and see the difference for yourself!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to Use Google Gemini with Node.js and DEX8</title>
      <dc:creator>Saša M</dc:creator>
      <pubDate>Sun, 18 Feb 2024 07:51:46 +0000</pubDate>
      <link>https://dev.to/smikodanic/how-to-use-google-gemini-with-nodejs-and-dex8com-3neg</link>
      <guid>https://dev.to/smikodanic/how-to-use-google-gemini-with-nodejs-and-dex8com-3neg</guid>
      <description>&lt;p&gt;The Google Gemini can be used in &lt;a href="https://www.dex8.com/docs/tutorials/develop-skript"&gt;creating DEX8 skripts&lt;/a&gt; as any npm library.&lt;/p&gt;

&lt;p&gt;There are two main approaches to using Google Gemini with Node.js:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Using the official Gemini API:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This is the recommended approach for most users. Google provides a Node.js SDK (@google/generative-ai) that simplifies interacting with the Gemini API. Here's a general guideline:&lt;/p&gt;

&lt;p&gt;a. Set up your project:&lt;/p&gt;

&lt;p&gt;Install Node.js and npm: Make sure you have Node.js and npm installed on your system.&lt;br&gt;
Create a project: Create a new directory for your project and initialize it as a Node.js project using npm init.&lt;br&gt;
Install dependencies: Install the @google/generative-ai package using npm install @google/generative-ai.&lt;br&gt;
b. Get your API key:&lt;/p&gt;

&lt;p&gt;Visit the Google Cloud Platform Console and create a project if you don't have one already.&lt;br&gt;
Enable the "Generative AI API".&lt;br&gt;
Create an API key and copy it.&lt;br&gt;
c. Configure your application:&lt;/p&gt;

&lt;p&gt;Create a .env file in your project root and add the following line, replacing YOUR_API_KEY with your actual key:&lt;br&gt;
GEMINI_API_KEY=YOUR_API_KEY&lt;br&gt;
d. Use the SDK:&lt;/p&gt;

&lt;p&gt;Import the GenerativeAI class from the @google/generative-ai package.&lt;br&gt;
Create a new instance of GenerativeAI with your API key.&lt;br&gt;
Use the available methods like generateText and chat to interact with Gemini.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Using third-party libraries:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Several third-party libraries provide alternative ways to interact with Gemini, often with additional features or functionalities. Here are some popular options:&lt;/p&gt;

&lt;p&gt;google-gemini-ai: This library offers a simplified interface for text-only and text-and-image generation.&lt;br&gt;
node-gemini: This library provides a low-level access to the Gemini API, offering more control and flexibility.&lt;br&gt;
Resources to get you started:&lt;/p&gt;

&lt;p&gt;Official Quickstart: &lt;a href="https://ai.google.dev/downloads"&gt;https://ai.google.dev/downloads&lt;/a&gt;&lt;br&gt;
Using @google/generative-ai: &lt;a href="https://ai.google/discover/generativeai/"&gt;https://ai.google/discover/generativeai/&lt;/a&gt;&lt;br&gt;
google-gemini-ai library: &lt;a href="https://github.com/topics/google-gemini"&gt;https://github.com/topics/google-gemini&lt;/a&gt;&lt;br&gt;
node-gemini library: &lt;a href="https://github.com/googleapis/nodejs-vertexai"&gt;https://github.com/googleapis/nodejs-vertexai&lt;/a&gt;&lt;br&gt;
Remember to replace placeholders like YOUR_API_KEY with your actual values and consult the chosen library's documentation for specific usage instructions and examples.&lt;/p&gt;

&lt;p&gt;I hope this helps! Feel free to ask if you have any further questions or need more specific guidance.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Revolutionize Your Automation and Data Extraction Workflow with DEX8.com SaaS</title>
      <dc:creator>Saša M</dc:creator>
      <pubDate>Thu, 08 Feb 2024 17:41:49 +0000</pubDate>
      <link>https://dev.to/smikodanic/revolutionize-your-automation-and-data-extraction-workflow-with-dex8com-saas-1dh1</link>
      <guid>https://dev.to/smikodanic/revolutionize-your-automation-and-data-extraction-workflow-with-dex8com-saas-1dh1</guid>
      <description>&lt;p&gt;Are you tired of spending countless hours on repetitive tasks? Look no further than DEX8 SaaS – your ultimate solution for automating data extraction, web scraping, and browser automation. With DEX8, you can streamline your workflow, increase productivity, and unlock new possibilities for your projects.&lt;/p&gt;

&lt;p&gt;DEX8 SaaS offers a user-friendly platform where you can create, manage, and execute automation scripts with ease. Whether you're a developer, data scientist, or business professional, DEX8 empowers you to harness the power of automation without the need for complex coding or infrastructure setup.&lt;/p&gt;

&lt;p&gt;Key Features:&lt;/p&gt;

&lt;p&gt;Intuitive Interface: DEX8's intuitive interface makes it easy to create and execute automation scripts without any prior experience.&lt;br&gt;
Versatile Scripting: From web scraping and data extraction to browser automation and API integration, DEX8 supports a wide range of automation tasks.&lt;br&gt;
Cloud-Based Execution: Say goodbye to managing servers and infrastructure. DEX8 runs on a powerful serverless platform, allowing you to focus on your tasks without worrying about backend maintenance.&lt;br&gt;
Real-Time Monitoring: Track the progress of your automation tasks in real-time with DEX8's comprehensive monitoring dashboard.&lt;br&gt;
Seamless Integration: Integrate DEX8 with your existing tools and workflows using APIs and webhooks, enabling seamless automation across your ecosystem.&lt;br&gt;
Whether you're extracting data from websites, automating repetitive tasks, or building complex workflows, DEX8 SaaS is your go-to solution for efficient automation. Join the automation revolution with DEX8 and take your productivity to new heights!&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%2Ffsas3e36nmt2ucccq0dz.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%2Ffsas3e36nmt2ucccq0dz.png" alt="Image description" width="640" height="455"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ready to automate your workflow? &lt;a href="https://www.dex8.com/sign-up?package_name=FREE%20PACK"&gt;Sign up for DEX8 SaaS&lt;/a&gt; today and experience the power of automation firsthand!&lt;/p&gt;

&lt;h3&gt;
  
  
  Automation
&lt;/h3&gt;

&lt;h3&gt;
  
  
  Data Extraction
&lt;/h3&gt;

&lt;h3&gt;
  
  
  Web Scraping
&lt;/h3&gt;

&lt;h3&gt;
  
  
  Browser Automation
&lt;/h3&gt;

&lt;h3&gt;
  
  
  SaaS
&lt;/h3&gt;

&lt;h3&gt;
  
  
  Productivity
&lt;/h3&gt;

&lt;h3&gt;
  
  
  Developer Tools
&lt;/h3&gt;

&lt;h3&gt;
  
  
  DEX8
&lt;/h3&gt;

&lt;h3&gt;
  
  
  DevOps
&lt;/h3&gt;

</description>
    </item>
    <item>
      <title>DoDo - New Frontend Framework</title>
      <dc:creator>Saša M</dc:creator>
      <pubDate>Thu, 08 Jun 2023 15:39:15 +0000</pubDate>
      <link>https://dev.to/smikodanic/dodo-framework-2o05</link>
      <guid>https://dev.to/smikodanic/dodo-framework-2o05</guid>
      <description>&lt;p&gt;Blazing fast, easy to learn, Javascript, frontend framework for reactive web pages &amp;amp; apps&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;extremly fast in development, compilation and execution&lt;/li&gt;
&lt;li&gt;no typescript&lt;/li&gt;
&lt;li&gt;no overly frequent updates&lt;/li&gt;
&lt;li&gt;compiling powered by Vite&lt;/li&gt;
&lt;li&gt;application with optimised file sizes&lt;/li&gt;
&lt;li&gt;use import &amp;amp; export ES Modules to build complex apps with clear and readable code&lt;/li&gt;
&lt;li&gt;Model-View-Controller (MVC), intuitive app structure&lt;/li&gt;
&lt;li&gt;simple API but rich with great features&lt;/li&gt;
&lt;li&gt;easy to learn and easy to use&lt;/li&gt;
&lt;li&gt;intended for reactive web pages and apps&lt;/li&gt;
&lt;li&gt;developers can be productive like never before&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="http://dodo.mikosoft.info/" rel="noopener noreferrer"&gt;http://dodo.mikosoft.info/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>dodo</category>
      <category>framework</category>
      <category>development</category>
    </item>
  </channel>
</rss>
