<?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: Joni Ilman Pahmi</title>
    <description>The latest articles on DEV Community by Joni Ilman Pahmi (@joni_ilman12).</description>
    <link>https://dev.to/joni_ilman12</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4110455%2F7d0dc212-6f1e-4c54-9605-f56377e324b3.png</url>
      <title>DEV Community: Joni Ilman Pahmi</title>
      <link>https://dev.to/joni_ilman12</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/joni_ilman12"/>
    <language>en</language>
    <item>
      <title>Why Small Businesses Rarely Need Heavy JavaScript Frameworks??</title>
      <dc:creator>Joni Ilman Pahmi</dc:creator>
      <pubDate>Sun, 06 Sep 2026 06:44:59 +0000</pubDate>
      <link>https://dev.to/joni_ilman12/why-small-businesses-rarely-need-heavy-javascript-frameworks-5512</link>
      <guid>https://dev.to/joni_ilman12/why-small-businesses-rarely-need-heavy-javascript-frameworks-5512</guid>
      <description>&lt;p&gt;Small and medium-sized enterprises (SMEs/SMBs) rarely need heavy enterprise JavaScript frameworks for their business websites.&lt;/p&gt;

&lt;p&gt;Frameworks such as Angular, React, or complex meta-frameworks such as Next.js are incredibly capable. They are designed to solve serious problems: complex application state, large data flows, sophisticated user interfaces, and development at significant team scale.&lt;/p&gt;

&lt;p&gt;But a typical small-business website has a very different job.&lt;/p&gt;

&lt;p&gt;It needs to load quickly, communicate clearly, generate leads, support business operations, and remain reliable for years.&lt;/p&gt;

&lt;p&gt;In other words, the priorities are usually &lt;strong&gt;speed, clarity, and reliability&lt;/strong&gt;—not massive multi-team scaling.&lt;/p&gt;

&lt;p&gt;This difference is easy to overlook, especially when modern JavaScript tooling makes it tempting to reach for the most powerful stack available.&lt;/p&gt;

&lt;p&gt;That can create what developers sometimes call a &lt;strong&gt;"complexity tax."&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Heavy Frameworks Can Be Overkill for SMB Websites
&lt;/h2&gt;

&lt;p&gt;The problem isn't that enterprise frameworks are bad. The problem is using enterprise-level engineering solutions for problems that don't require them.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Factor&lt;/th&gt;
&lt;th&gt;Enterprise JavaScript Applications&lt;/th&gt;
&lt;th&gt;Typical SMB Websites&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Primary goal&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Highly dynamic application state and heavy data pipelines&lt;/td&gt;
&lt;td&gt;Fast loading, clear business information, and simple lead capture&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;SEO &amp;amp; performance&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Often involves significant client-side JavaScript and hydration complexity&lt;/td&gt;
&lt;td&gt;Prefer fast, server-rendered HTML that search engines can easily understand&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Development cost&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Can require specialized developers familiar with complex state, build, and deployment systems&lt;/td&gt;
&lt;td&gt;Lower upfront cost, simpler code, and faster time-to-market&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Maintenance&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Frequent dependency, tooling, and framework updates&lt;/td&gt;
&lt;td&gt;Long-term stability and predictable maintenance&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;This doesn't mean an SMB should never use React, Angular, Next.js, or another modern framework.&lt;/p&gt;

&lt;p&gt;If the website is actually an application, the calculation changes.&lt;/p&gt;

&lt;p&gt;The point is to match the engineering solution to the business problem.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. The Hype Cycle vs. Business ROI
&lt;/h2&gt;

&lt;p&gt;The JavaScript ecosystem moves incredibly fast.&lt;/p&gt;

&lt;p&gt;New bundlers appear. State-management approaches change. Frameworks introduce new rendering models. Build tools evolve. Dependencies are replaced.&lt;/p&gt;

&lt;p&gt;For a large enterprise, keeping up with these changes can make sense. A large engineering organization may have dedicated teams, established architecture strategies, and the budget to continuously invest in its technology stack.&lt;/p&gt;

&lt;p&gt;For a small business, the economics can be very different.&lt;/p&gt;

&lt;p&gt;A typical SMB doesn't want to pay a developer every month simply to keep a brochure website's dependency tree healthy.&lt;/p&gt;

&lt;p&gt;They want the website to keep working.&lt;/p&gt;

&lt;p&gt;If a business website contains mostly:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Company information&lt;/li&gt;
&lt;li&gt;Services&lt;/li&gt;
&lt;li&gt;Contact details&lt;/li&gt;
&lt;li&gt;Blog content&lt;/li&gt;
&lt;li&gt;Testimonials&lt;/li&gt;
&lt;li&gt;Product information&lt;/li&gt;
&lt;li&gt;A contact or quotation form&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;then constantly chasing the newest JavaScript architecture may provide very little business value.&lt;/p&gt;

&lt;p&gt;The question shouldn't be:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"What is the most modern framework we can use?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It should be:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"What is the simplest technology that reliably solves this business problem?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That shift in perspective can save both development time and long-term maintenance costs.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Browser Standards Have Leveled Up
&lt;/h2&gt;

&lt;p&gt;Part of the reason JavaScript frameworks became so popular was that browsers historically lacked many convenient primitives for building sophisticated interfaces.&lt;/p&gt;

&lt;p&gt;Developers needed libraries to standardize component behavior, asynchronous communication, interactions, and UI patterns.&lt;/p&gt;

&lt;p&gt;Modern browsers are much more capable.&lt;/p&gt;

&lt;p&gt;Many tasks that previously required substantial libraries can now be handled with native web platform features.&lt;/p&gt;

&lt;h2&gt;
  
  
  Native Componentization
&lt;/h2&gt;

&lt;p&gt;Web Components provide native mechanisms for reusable custom elements and encapsulated UI behavior.&lt;/p&gt;

&lt;p&gt;They aren't a replacement for every component framework, but they demonstrate how much component-oriented functionality is now available directly in the platform.&lt;/p&gt;

&lt;h2&gt;
  
  
  Clean Asynchronous Actions
&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;fetch()&lt;/code&gt; API provides a straightforward native way to communicate with servers asynchronously.&lt;/p&gt;

&lt;p&gt;For many simple forms, API calls, and progressive enhancements, you don't necessarily need a large client-side data layer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Rich UIs Without Massive JavaScript Bundles
&lt;/h2&gt;

&lt;p&gt;Modern CSS has also become dramatically more capable.&lt;/p&gt;

&lt;p&gt;Grid, Flexbox, transitions, animations, container queries, and other platform features can handle a surprising amount of UI work without introducing a large JavaScript dependency chain.&lt;/p&gt;

&lt;p&gt;And when JavaScript is necessary, a small amount of vanilla JavaScript—or a lightweight library—can often be enough.&lt;/p&gt;

&lt;p&gt;The browser itself has become a much better development platform.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Applications vs. Websites
&lt;/h2&gt;

&lt;p&gt;This is probably the most important distinction.&lt;/p&gt;

&lt;p&gt;Consider something like Gmail, an analytics dashboard, an ERP system, or a complex SaaS product.&lt;/p&gt;

&lt;p&gt;These are applications.&lt;/p&gt;

&lt;p&gt;They have:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Complex state&lt;/li&gt;
&lt;li&gt;Frequent user interaction&lt;/li&gt;
&lt;li&gt;Authentication&lt;/li&gt;
&lt;li&gt;Rich client-side workflows&lt;/li&gt;
&lt;li&gt;Large amounts of dynamic data&lt;/li&gt;
&lt;li&gt;Sophisticated UI behavior&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A serious application framework can provide enormous value here.&lt;/p&gt;

&lt;p&gt;Now consider:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A local service provider&lt;/li&gt;
&lt;li&gt;A law firm&lt;/li&gt;
&lt;li&gt;A consulting business&lt;/li&gt;
&lt;li&gt;A restaurant&lt;/li&gt;
&lt;li&gt;A marketing agency&lt;/li&gt;
&lt;li&gt;A company brochure website&lt;/li&gt;
&lt;li&gt;A simple e-commerce storefront&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are primarily websites.&lt;/p&gt;

&lt;p&gt;Their job is often to:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Explain what the business does.&lt;/li&gt;
&lt;li&gt;Build trust.&lt;/li&gt;
&lt;li&gt;Help visitors find information.&lt;/li&gt;
&lt;li&gt;Generate a call, message, booking, or inquiry.&lt;/li&gt;
&lt;li&gt;Rank well in search engines.&lt;/li&gt;
&lt;li&gt;Load quickly on a wide range of devices.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Adding a large client-side application architecture to render mostly static business information can introduce engineering overhead without creating proportional business value.&lt;/p&gt;

&lt;p&gt;The technology should serve the website—not become the product.&lt;/p&gt;

&lt;h2&gt;
  
  
  So, What Should SMBs Use Instead?
&lt;/h2&gt;

&lt;p&gt;There isn't one universal answer.&lt;/p&gt;

&lt;p&gt;The right stack depends on the business and the website's actual requirements.&lt;/p&gt;

&lt;p&gt;But several approaches are often worth considering.&lt;/p&gt;

&lt;h2&gt;
  
  
  Lightweight CMS Platforms
&lt;/h2&gt;

&lt;p&gt;A lightweight CMS can be a great fit when business owners need to update their own content.&lt;/p&gt;

&lt;p&gt;For example, changing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Service descriptions&lt;/li&gt;
&lt;li&gt;Prices&lt;/li&gt;
&lt;li&gt;Opening hours&lt;/li&gt;
&lt;li&gt;Team information&lt;/li&gt;
&lt;li&gt;Blog posts&lt;/li&gt;
&lt;li&gt;Product details&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;shouldn't always require a developer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Vanilla HTML, CSS, and Minimal JavaScript
&lt;/h2&gt;

&lt;p&gt;For relatively simple websites, the traditional web platform remains extremely powerful.&lt;/p&gt;

&lt;p&gt;A small HTML/CSS/JS application can be:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fast&lt;/li&gt;
&lt;li&gt;Secure&lt;/li&gt;
&lt;li&gt;Easy to understand&lt;/li&gt;
&lt;li&gt;Cheap to host&lt;/li&gt;
&lt;li&gt;Easy to maintain&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And there is something valuable about having fewer moving parts.&lt;/p&gt;

&lt;h2&gt;
  
  
  Lightweight UI Libraries
&lt;/h2&gt;

&lt;p&gt;Sometimes a website genuinely needs interactivity.&lt;/p&gt;

&lt;p&gt;That doesn't automatically mean it needs a full application framework.&lt;/p&gt;

&lt;p&gt;For smaller interactive requirements, tools such as &lt;strong&gt;Alpine.js&lt;/strong&gt; or &lt;strong&gt;Lit&lt;/strong&gt; can provide useful reactive behavior without requiring an entire enterprise-style frontend architecture.&lt;/p&gt;

&lt;p&gt;The goal isn't to avoid JavaScript.&lt;/p&gt;

&lt;p&gt;The goal is to use &lt;strong&gt;the amount of JavaScript the problem actually requires&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  It's Not About "Frameworks vs. No Frameworks"
&lt;/h2&gt;

&lt;p&gt;This discussion can easily become tribal.&lt;/p&gt;

&lt;p&gt;That's not the point.&lt;/p&gt;

&lt;p&gt;A framework isn't inherently bad.&lt;/p&gt;

&lt;p&gt;React, Angular, Vue, Next.js, and similar tools exist because they solve real problems.&lt;/p&gt;

&lt;p&gt;The mistake is assuming that every website has those problems.&lt;/p&gt;

&lt;p&gt;A useful rule is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Choose architecture based on complexity, not popularity.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If you're building a SaaS dashboard with thousands of concurrent users and complex client-side state, use the tools that make that problem manageable.&lt;/p&gt;

&lt;p&gt;If you're building a five-page website for a local business, ask whether you actually need the same architecture.&lt;/p&gt;

&lt;p&gt;Sometimes the best engineering decision is not adding another abstraction.&lt;/p&gt;

&lt;p&gt;Sometimes it's removing one.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where I'm Taking This Idea: Solid-Vue
&lt;/h2&gt;

&lt;p&gt;This line of thinking is also part of why I'm currently developing &lt;strong&gt;Solid-Vue&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Solid-Vue is an experimental, early-access project focused on making Vue-based business applications and websites simpler to build without turning every project into a large framework-heavy architecture.&lt;/p&gt;

&lt;p&gt;The idea is not to replace Vue or compete with every existing meta-framework.&lt;/p&gt;

&lt;p&gt;Instead, I'm exploring a smaller, more opinionated approach around the things a typical business project actually needs: Vue, Vite, file-based routing, Pinia, and a lightweight server layer.&lt;/p&gt;

&lt;p&gt;It's still &lt;strong&gt;early access and experimental&lt;/strong&gt;, so the architecture is evolving and the project is definitely not production-ready for every use case yet.&lt;/p&gt;

&lt;p&gt;You can follow the project here:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Website:&lt;/strong&gt; &lt;a href="https://solid-vue.tech/" rel="noopener noreferrer"&gt;https://solid-vue.tech/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/solid-vue/solid-vue" rel="noopener noreferrer"&gt;https://github.com/solid-vue/solid-vue&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I'd love to hear what other developers think about this approach—especially where you draw the line between a "website" and an "application", and how much JavaScript architecture you consider reasonable for a small business project.&lt;/p&gt;




&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/posts/ankit-kshirsagar-530278137_7-benefits-of-js-frameworks-for-enterprise-scale-activity-7397623586880032768-l0B2" rel="noopener noreferrer"&gt;7 Benefits of JS Frameworks for Enterprise Scale — LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://monsoondigital.net/insights/javascript-frameworks-are-for-apps-not-business-websites/" rel="noopener noreferrer"&gt;JavaScript Frameworks Are for Apps, Not Business Websites — Monsoon Digital&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://medium.com/@resti.guay/the-hidden-million-dollar-cost-why-modern-javascript-frameworks-are-bankrupting-enterprise-575db08a4663" rel="noopener noreferrer"&gt;The Hidden Million-Dollar Cost: Why Modern JavaScript Frameworks Are Bankrupting Enterprise — Medium&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/holasoymalva/why-the-latest-javascript-frameworks-are-a-waste-of-time-52pc"&gt;Why the Latest JavaScript Frameworks Are a Waste of Time — DEV Community&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/starbist/with-or-without-the-js-framework-2k58"&gt;With or Without the JS Framework? — DEV Community&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.richhudson.net/blog/why-i-skip-frameworks-when-building-small-business-websites" rel="noopener noreferrer"&gt;Why I Skip Frameworks When Building Small Business Websites&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.quora.com/Why-isn-t-JavaScript-used-for-enterprise-development-Why-is-Java-the-main-language-for-Enterprise-development" rel="noopener noreferrer"&gt;Why Isn't JavaScript Used for Enterprise Development? — Quora&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://medium.com/@mernstackdevbykevin/javascript-frameworks-are-quietly-losing-their-grip-30642cd57680" rel="noopener noreferrer"&gt;JavaScript Frameworks Are Quietly Losing Their Grip — Medium&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>webdev</category>
      <category>smb</category>
      <category>javascript</category>
      <category>vue</category>
    </item>
    <item>
      <title>Solid-Vue JS | The Minimalist Vue + Vite Web Frameworks (No relation to SolidJS or SolidStart at all)</title>
      <dc:creator>Joni Ilman Pahmi</dc:creator>
      <pubDate>Sat, 05 Sep 2026 00:12:00 +0000</pubDate>
      <link>https://dev.to/joni_ilman12/solid-vue-the-minimalist-vue-vite-web-frameworks-no-relation-to-solidjs-or-solidstart-at-all-l9e</link>
      <guid>https://dev.to/joni_ilman12/solid-vue-the-minimalist-vue-vite-web-frameworks-no-relation-to-solidjs-or-solidstart-at-all-l9e</guid>
      <description>&lt;p&gt;Solid-Vue JS is a lightweight Vue + Vite framework for small and growing businesses. File-based routing, a built-in server layer powered by h3, and zero extra config to wire together.&lt;/p&gt;

&lt;h2&gt;
  
  
  Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;File-based routing — every file in src/pages becomes a route automatically, via unplugin-vue-router.&lt;/li&gt;
&lt;li&gt;A server, built in — src/server/api holds your API endpoints, served through h3 alongside your frontend. One dev server, one deploy.&lt;/li&gt;
&lt;li&gt;Vite underneath — instant startup and near-instant HMR.&lt;/li&gt;
&lt;li&gt;State management ready — Pinia is wired in out of the box.&lt;/li&gt;
&lt;li&gt;Extensible via add-ons — install Tailwind CSS, icon sets, form validation, i18n, and more with the companion solid-vue-cli.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Quick start
&lt;/h2&gt;

&lt;p&gt;Don't install this package directly — scaffold a new project instead:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm create solid-vue@latest my-app
&lt;span class="nb"&gt;cd &lt;/span&gt;my-app
npm &lt;span class="nb"&gt;install
&lt;/span&gt;npm run dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Usage
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;&lt;code&gt;vite.config.ts&lt;/code&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;defineConfig&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;vite&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;solidVue&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;solid-vue&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="nf"&gt;defineConfig&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;plugins&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="nf"&gt;solidVue&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="na"&gt;mode&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;spa&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt;
  &lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;&lt;code&gt;src/main.ts&lt;/code&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;createSolidApp&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;solid-vue/client&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;App&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./App.vue&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;app&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;router&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;createSolidApp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;App&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nx"&gt;router&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;isReady&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;mount&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;#app&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;&lt;code&gt;src/server/api/hello.ts&lt;/code&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;defineEventHandler&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;solid-vue/server&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="nf"&gt;defineEventHandler&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;message&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Hello from Solid-Vue!&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Plugin options
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="nf"&gt;solidVue&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;mode&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;spa&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;        &lt;span class="c1"&gt;// 'spa' | 'ssr' | 'ssg' — default: 'spa'&lt;/span&gt;
  &lt;span class="na"&gt;apiPrefix&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;/api&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;// prefix for file-based API routes — default: '/api'&lt;/span&gt;
  &lt;span class="na"&gt;optimizeCWV&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;// inject Core Web Vitals meta/preconnect tags — default: true&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Package exports
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Entry&lt;/th&gt;
&lt;th&gt;Use&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;solid-vue&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The Vite plugin (&lt;code&gt;solidVue&lt;/code&gt;), used in &lt;code&gt;vite.config.ts&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;solid-vue/client&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;createSolidApp()&lt;/code&gt; — bootstraps Vue, Vue Router, and Pinia&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;solid-vue/server&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Re-exported h3 utilities (&lt;code&gt;defineEventHandler&lt;/code&gt;, &lt;code&gt;readBody&lt;/code&gt;, &lt;code&gt;useSession&lt;/code&gt;, etc.) for your API routes&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Add-ons
&lt;/h2&gt;

&lt;p&gt;Add optional integrations to an existing project with the CLI:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx solid-vue add tailwind
npx solid-vue add pinia
npx solid-vue add vitest
npx solid-vue add auth
npx solid-vue add i18n
npx solid-vue add lint
npx solid-vue add tabler
npx solid-vue add lucide
npx solid-vue add ofetch
npx solid-vue add unhead
npx solid-vue add vee-validate
npx solid-vue add vueuse
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Requirements
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Node.js 22+&lt;/li&gt;
&lt;li&gt;Vue ^3.4, Vue Router ^4, Pinia ^2, Vite ^8, &lt;code&gt;@vitejs/plugin-vue&lt;/code&gt; ^6 (installed as peer dependencies)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  License
&lt;/h2&gt;

&lt;p&gt;MIT&lt;/p&gt;

&lt;h2&gt;
  
  
  Join Early Access Programme
&lt;/h2&gt;

&lt;p&gt;Solid-Vue JS is currently in its early access phase. We're early, and there's plenty still to build — but we'd love for you to try it and tell us what's missing. We'd be absolutely chuffed if you could test it out and share your thoughts.&lt;/p&gt;

&lt;p&gt;You can give your review, feedback and contributing on our project by following link:&lt;br&gt;
Our Page: &lt;a href="https://solid-vue.tech/" rel="noopener noreferrer"&gt;https://solid-vue.tech/&lt;/a&gt;&lt;br&gt;
Doc Page: &lt;a href="https://docs.solid-vue.tech/guide/getting-started" rel="noopener noreferrer"&gt;https://docs.solid-vue.tech/guide/getting-started&lt;/a&gt;&lt;br&gt;
Blog Page: &lt;a href="https://docs.solid-vue.tech/blog/" rel="noopener noreferrer"&gt;https://docs.solid-vue.tech/blog/&lt;/a&gt;&lt;br&gt;
NPMJS: &lt;a href="https://www.npmjs.com/%7Ejoniilmanfahmi00-collab" rel="noopener noreferrer"&gt;https://www.npmjs.com/~joniilmanfahmi00-collab&lt;/a&gt;&lt;br&gt;
GitHub: &lt;a href="https://github.com/solid-vue/solid-vue" rel="noopener noreferrer"&gt;https://github.com/solid-vue/solid-vue&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>showdev</category>
      <category>vue</category>
      <category>fullstack</category>
    </item>
  </channel>
</rss>
