<?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: Dr. Montasir</title>
    <description>The latest articles on Forem by Dr. Montasir (@montasir).</description>
    <link>https://forem.com/montasir</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%2F2955363%2Fd80a9fe2-8bd7-4094-b0dd-ae7eb1da8d23.png</url>
      <title>Forem: Dr. Montasir</title>
      <link>https://forem.com/montasir</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/montasir"/>
    <language>en</language>
    <item>
      <title>Introducing Fluxor: A New Rust Web Framework for Data Science</title>
      <dc:creator>Dr. Montasir</dc:creator>
      <pubDate>Tue, 18 Mar 2025 20:38:15 +0000</pubDate>
      <link>https://forem.com/montasir/introducing-fluxor-a-new-rust-web-framework-for-data-science-3lmh</link>
      <guid>https://forem.com/montasir/introducing-fluxor-a-new-rust-web-framework-for-data-science-3lmh</guid>
      <description>&lt;p&gt;Are you looking for a robust and versatile web framework for your data science and computing applications? Look no further! Meet Fluxor, a new Rust framework designed to streamline your development process and enhance your data handling capabilities.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why &lt;a href="https://crates.io/crates/fluxor" rel="noopener noreferrer"&gt;Fluxor&lt;/a&gt;?
&lt;/h2&gt;

&lt;p&gt;Inspired by popular frameworks like Express.js, Flask, and Shiny, Fluxor combines the best features of these frameworks with the powerful performance of Rust. Here are some standout features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Asynchronous and Efficient&lt;/strong&gt;: Built upon the Tokio runtime, Fluxor provides powerful non-blocking I/O for handling multiple connections effortlessly.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Robust Functionality&lt;/strong&gt;: Tailored specifically for scientific computing and web development, it has rich features that cater to your needs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Extendable&lt;/strong&gt;: Easily integrate with data storage solutions such as MongoDB, PostgreSQL, and Redis for flexibility in your data management.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Dedicated CLI Tool&lt;/strong&gt;: The Fluxor CLI allows for quick project scaffolding, getting you started even faster.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Modular Design&lt;/strong&gt;: With various modules (like math, data handling, and logging), Fluxor facilitates streamlined development and project organization.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;

&lt;p&gt;Getting started with Fluxor is simple. Here’s a quick overview:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Install Rust: Make sure you have Rust and Cargo installed.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create a New Project: Use the CLI to scaffold a new Fluxor application:&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;
cargo &lt;span class="nb"&gt;install &lt;/span&gt;fluxor_cli
fluxor new &amp;lt;project_name&amp;gt; &lt;span class="nt"&gt;--version&lt;/span&gt; latest &lt;span class="nt"&gt;--example&lt;/span&gt; helloworld
&lt;span class="nb"&gt;cd&lt;/span&gt; &amp;lt;project_name&amp;gt;
cargo run

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Start Building: Your application will be up and running at &lt;a href="http://127.0.0.1:8080" rel="noopener noreferrer"&gt;http://127.0.0.1:8080&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Hello World Example
&lt;/h2&gt;

&lt;p&gt;To demonstrate how easy it is to get started, here's a simple "Hello, World!" application using Fluxor:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight rust"&gt;&lt;code&gt;&lt;span class="c1"&gt;// version 0.8.0&lt;/span&gt;
&lt;span class="k"&gt;use&lt;/span&gt; &lt;span class="nn"&gt;fluxor&lt;/span&gt;&lt;span class="p"&gt;::&lt;/span&gt;&lt;span class="nn"&gt;prelude&lt;/span&gt;&lt;span class="p"&gt;::&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;hello&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;_req&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Req&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;_params&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Params&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;Reply&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nf"&gt;boxed&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nf"&gt;Ok&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nn"&gt;Response&lt;/span&gt;&lt;span class="p"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;builder&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
            &lt;span class="nf"&gt;.header&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Content-Type"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"text/html; charset=UTF-8"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="nf"&gt;.body&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nn"&gt;Body&lt;/span&gt;&lt;span class="p"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;from&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"&amp;lt;h1&amp;gt;👋 Hello, World!&amp;lt;/h1&amp;gt;"&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
            &lt;span class="nf"&gt;.unwrap&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;span class="nd"&gt;#[tokio::main]&lt;/span&gt;
&lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;let&lt;/span&gt; &lt;span class="k"&gt;mut&lt;/span&gt; &lt;span class="n"&gt;app&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nn"&gt;Fluxor&lt;/span&gt;&lt;span class="p"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;new&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;           &lt;span class="c1"&gt;// Initialize the application.&lt;/span&gt;
    &lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="nf"&gt;.route&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;GET&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"/"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;hello&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;            &lt;span class="c1"&gt;// Set the route (method, path, handler).&lt;/span&gt;
    &lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="nf"&gt;.run&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"127.0.0.1"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"8080"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="k"&gt;.await&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;    &lt;span class="c1"&gt;// Start the HTTP server (host, port).&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;When you run this code and navigate to &lt;a href="http://127.0.0.1:8080" rel="noopener noreferrer"&gt;http://127.0.0.1:8080&lt;/a&gt; in your web browser, you should see a friendly "👋 Hello, World!" greeting.&lt;/p&gt;

&lt;h2&gt;
  
  
  Explore the Modules
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Core&lt;/strong&gt;: Essential backbone of the framework.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Client&lt;/strong&gt;: An HTTP client built for easy API testing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data&lt;/strong&gt;: Modules for MongoDB, PostgreSQL, and Redis.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Encode&lt;/strong&gt;: For data serialization and deserialization.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Math&lt;/strong&gt;: Mathematical functions for computations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;StyledLog&lt;/strong&gt;: A slick logging mechanism.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cans&lt;/strong&gt;: A lightweight literal template engine.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Wtime&lt;/strong&gt;: Utilities for handling time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fluxio&lt;/strong&gt;: An HTTP client wrapper for seamless integration.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Join the Community
&lt;/h2&gt;

&lt;p&gt;Fluxor is open for contributions! If you’re interested in helping out, please fork the repository and submit a pull request.&lt;/p&gt;

&lt;p&gt;With comprehensive documentation and a roadmap for future enhancements, Fluxor is set to become a go-to framework for Rust developers focused on data science.&lt;/p&gt;

&lt;p&gt;Ready to boost your development workflow? Check out Fluxor today and see how it can transform your applications!&lt;/p&gt;




&lt;p&gt;For more information, visit the official Fluxor documentation!&lt;br&gt;
Happy coding! 🚀&lt;/p&gt;

</description>
      <category>datascience</category>
      <category>rust</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
