<?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: Filip Szamborski</title>
    <description>The latest articles on DEV Community by Filip Szamborski (@exenatus).</description>
    <link>https://dev.to/exenatus</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%2F4170732%2F044ea907-680e-4ef4-9889-4ca2a44ac3c3.png</url>
      <title>DEV Community: Filip Szamborski</title>
      <link>https://dev.to/exenatus</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/exenatus"/>
    <language>en</language>
    <item>
      <title>Comparing Ionic, NativeScript &amp; React Native</title>
      <dc:creator>Filip Szamborski</dc:creator>
      <pubDate>Thu, 08 Oct 2026 10:39:17 +0000</pubDate>
      <link>https://dev.to/ordergroup/comparing-ionic-nativescript-react-native-322h</link>
      <guid>https://dev.to/ordergroup/comparing-ionic-nativescript-react-native-322h</guid>
      <description>&lt;p&gt;&lt;em&gt;When it comes to creating apps with JavaScript, there are multiple approaches, and none is more popular than React Native. Some of the biggest apps on both the App Store &amp;amp; Play Store rely on React Native, Ionic is quite popular as well, and NativeScript is behind the two. We also use Meta's framework for creating cross-platform native apps. Curious why?&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  React Native
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://reactnative.dev/" rel="noopener noreferrer"&gt;React Native&lt;/a&gt; is currently the most popular JavaScript framework for creating mobile apps. Neither Ionic nor NativeScript can match its popularity. Its popularity comes from the fact that it was tied to React from the start, while both Ionic and NativeScript were Angular-first (the bet did not pay off for the two).&lt;/p&gt;

&lt;p&gt;The framework allows developers to build mobile apps using JavaScript &amp;amp; TypeScript and React's JSX syntax, so you can build rich user interfaces that feel native. You may even reuse the same libraries you are used to from web React, such as &lt;a href="https://formik.org/" rel="noopener noreferrer"&gt;Formik&lt;/a&gt;, &lt;a href="https://redux.js.org/" rel="noopener noreferrer"&gt;Redux&lt;/a&gt;, &lt;a href="https://tanstack.com/query/latest/docs/framework/react/react-native" rel="noopener noreferrer"&gt;react-query&lt;/a&gt; or even &lt;a href="https://www.nativewind.dev/" rel="noopener noreferrer"&gt;tailwind&lt;/a&gt; (provided you install an additional plugin for handling utility classes).&lt;/p&gt;

&lt;h3&gt;
  
  
  When to Use It
&lt;/h3&gt;

&lt;p&gt;In our view, if you're choosing between those three, you can't go wrong with React Native. It's flexible, the community support is great, and there are a ton of libraries and resources available. If the bare workflow does not suit you, you have &lt;a href="https://expo.dev/" rel="noopener noreferrer"&gt;Expo&lt;/a&gt; at your disposal - a great project that extends Meta's framework and adds many indispensable goodies.&lt;/p&gt;

&lt;p&gt;What's becoming more important is that the number of React Native projects is huge, which means tools such as &lt;a href="https://medium.com/tribalscale/using-github-copilot-with-react-native-134ce8e7765b" rel="noopener noreferrer"&gt;GitHub Copilot&lt;/a&gt;, &lt;a href="https://www.youtube.com/watch?v=5Y_t6NRl_xI" rel="noopener noreferrer"&gt;Cursor&lt;/a&gt;, and others have more repositories to scrape, so suggestions for your code &lt;strong&gt;should&lt;/strong&gt; be better.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ionic
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://ionicframework.com/" rel="noopener noreferrer"&gt;Ionic&lt;/a&gt; allows the creation of hybrid applications using web technologies like HTML, CSS, and JavaScript. The framework wraps the web application in a native container using &lt;a href="https://capacitorjs.com/" rel="noopener noreferrer"&gt;Capacitor&lt;/a&gt;, thanks to which you may access native APIs from the comfort of the DOM. Because of that, however, apps will be much slower.&lt;/p&gt;

&lt;p&gt;Of the 3 frameworks, Ionic will be the easiest to switch to for a web developer, because React Native and NativeScript have some gotchas you need to keep in mind. How many you hit depends on how deep you go, but there are definitely some.&lt;/p&gt;

&lt;h3&gt;
  
  
  When to Use It
&lt;/h3&gt;

&lt;p&gt;Ionic is great if you want to create quick prototypes or a quick mobile app version of your website, and don't need a performance beast. It's also great for reusing as much code as you can between your web and mobile app.&lt;/p&gt;

&lt;p&gt;If your company is primarily a &lt;a href="https://ionicframework.com/docs/vue/overview" rel="noopener noreferrer"&gt;Vue.js&lt;/a&gt; or &lt;a href="https://ionicframework.com/docs/angular/overview" rel="noopener noreferrer"&gt;Angular&lt;/a&gt; development company, you're effectively choosing between Ionic and NativeScript.&lt;/p&gt;

&lt;h2&gt;
  
  
  NativeScript
&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://nativescript.org/" rel="noopener noreferrer"&gt;NativeScript&lt;/a&gt; (originally called &lt;em&gt;Telerik NativeScript&lt;/em&gt;) enables developers to create truly native mobile applications using JavaScript or TypeScript. Unlike Ionic, it does not use WebView but accesses native APIs directly. If you know you will need plenty of third-party libraries, NativeScript isn't for you. The community isn't huge, and it likely won't grow; at least nothing indicates it will. A huge pro is that it has first-party integration with many frameworks.&lt;/p&gt;

&lt;h3&gt;
  
  
  When to Use It
&lt;/h3&gt;

&lt;p&gt;NativeScript is the least popular of the 3, but it's still not a bad option. You will have significantly fewer third-party plugins and libraries at your disposal, but maybe you won't mind. Furthermore, &lt;a href="https://docs.nativescript.org/guide/creating-a-project" rel="noopener noreferrer"&gt;it offers integrations with 6 different web&lt;/a&gt; frameworks, not counting the option of vanilla JavaScript &amp;amp; TypeScript.&lt;/p&gt;

&lt;p&gt;If your company primarily uses &lt;a href="https://docs.nativescript.org/tutorials/build-a-master-detail-app-with-vue" rel="noopener noreferrer"&gt;Vue.js&lt;/a&gt;, &lt;a href="https://docs.nativescript.org/tutorials/build-a-master-detail-app-with-angular" rel="noopener noreferrer"&gt;Angular&lt;/a&gt;, &lt;a href="https://docs.nativescript.org/tutorials/build-a-master-detail-app-with-svelte" rel="noopener noreferrer"&gt;Svelte&lt;/a&gt;, or &lt;a href="https://stackblitz.com/edit/nativescript-solid?file=app/app.jsx" rel="noopener noreferrer"&gt;Solid&lt;/a&gt;, go for it. If you know ahead of time that you won't be using many third-party UI components and such, it's safe to pick. If you do expect to use them, consider a different framework.&lt;/p&gt;

&lt;h2&gt;
  
  
  React Native vs Ionic vs NativeScript
&lt;/h2&gt;

&lt;p&gt;While choosing the tool matters less than other business decisions, it's still an important decision that &lt;strong&gt;could&lt;/strong&gt; make or break your project. Depending on the type of your app, it can have a big impact on the user experience you deliver.&lt;/p&gt;

&lt;h3&gt;
  
  
  User Experience
&lt;/h3&gt;

&lt;p&gt;React Native provides a truly native look and feel, as it uses native components for rendering. This results in smoother animations and transitions, making it ideal for performance-sensitive applications.&lt;/p&gt;

&lt;p&gt;NativeScript also offers a native experience, allowing direct access to native APIs, which can enhance the app's responsiveness and overall user satisfaction.&lt;/p&gt;

&lt;p&gt;Ionic, while capable of creating visually appealing applications, often resembles mobile websites more than native apps because it relies on &lt;a href="https://en.wikipedia.org/wiki/WebView" rel="noopener noreferrer"&gt;WebView&lt;/a&gt;. This can limit performance in complex applications, and the user interfaces look similar to native ones but feel slightly off.&lt;/p&gt;

&lt;h3&gt;
  
  
  Development Speed
&lt;/h3&gt;

&lt;p&gt;Ionic is generally faster in development for developers familiar with web technologies (HTML, CSS, JavaScript), making it a preferred choice for rapid prototyping and simpler applications that aren't performance critical.&lt;/p&gt;

&lt;p&gt;React Native and NativeScript may require more time to master due to their more complex setups and the need for understanding native mobile development concepts.&lt;/p&gt;

&lt;h3&gt;
  
  
  Performance
&lt;/h3&gt;

&lt;p&gt;React Native and NativeScript are designed for high performance close to that of native applications. If you're developing graphics-intensive, complex applications, choose one of these two. You should also choose one of them if smooth 60 frames per second is a priority.&lt;/p&gt;

&lt;p&gt;Ionic, while effective for simpler apps, can struggle with performance under heavy loads or when utilizing extensive animations.&lt;/p&gt;

&lt;h3&gt;
  
  
  Community and Ecosystem
&lt;/h3&gt;

&lt;p&gt;Both &lt;a href="https://stackoverflow.com/questions/tagged/react-native" rel="noopener noreferrer"&gt;React Native&lt;/a&gt; and &lt;a href="https://stackoverflow.com/questions/tagged/ionic" rel="noopener noreferrer"&gt;Ionic&lt;/a&gt; have large communities with plenty of resources, libraries, and third-party plugins that can speed up development.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://stackoverflow.com/questions/tagged/nativescript" rel="noopener noreferrer"&gt;NativeScript&lt;/a&gt; has a smaller community but still offers useful resources and support, particularly for developers who want to use native capabilities.&lt;/p&gt;

&lt;p&gt;In the &lt;a href="https://survey.stackoverflow.co/2024/technology" rel="noopener noreferrer"&gt;2024 Stack Overflow Developer Survey&lt;/a&gt;, 9% of professional developers declared they're using React Native, 2.8% declared they are using Ionic, and... NativeScript wasn't there. According to the same survey, 56.5% of professional developers "admired" React Native, while 39.6% "admired" Ionic.&lt;/p&gt;

&lt;p&gt;When it comes to popularity on GitHub, &lt;a href="https://github.com/facebook/react-native" rel="noopener noreferrer"&gt;React Native's repository&lt;/a&gt; has 119k stars, &lt;a href="https://github.com/NativeScript/NativeScript" rel="noopener noreferrer"&gt;NativeScript's repo&lt;/a&gt; has 24.2k stars, while &lt;a href="https://github.com/ionic-team/ionic-framework" rel="noopener noreferrer"&gt;Ionic's&lt;/a&gt; has more than double that with 51.1k.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cross-Platform Compatibility
&lt;/h3&gt;

&lt;p&gt;All three frameworks allow for cross-platform development, but the extent of code reuse varies. React Native and NativeScript can share a significant portion of code between iOS and Android. Meta's mobile app framework has one significant pro: &lt;a href="https://microsoft.github.io/react-native-windows/" rel="noopener noreferrer"&gt;you may also create desktop apps for macOS &amp;amp; Windows.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ionic allows broader code reuse across web, mobile, and desktop platforms but may require additional adjustments for optimal performance on mobile phones. Keep in mind that desktop apps created with Ionic are based on Electron, which is great for development speed but uses too many resources. For example, Slack, a popular messaging app, will easily use 500 MB of your RAM without breaking a sweat.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ful86aui2b16h01mahrh8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ful86aui2b16h01mahrh8.png" alt="React Native" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;The three frameworks approach mobile app development differently, each catering to different developer groups and companies. React Native focuses on creating high-performance, native-like applications using React only. It's ideal for teams &amp;amp; companies familiar with React that want to use native capabilities. Ionic uses web technologies (HTML, CSS, JavaScript) to build hybrid applications that run in a WebView. It's best for rapid prototyping and simpler applications where development speed matters more than native performance, and it's great for web developers moving to mobile. Performance can be a limitation for more complex apps, but it is very accessible for web developers. Lastly, NativeScript provides a way to create truly native apps using JavaScript or TypeScript, accessing native APIs directly. It's suitable for applications that make extensive use of native features, and while it offers a good balance between performance and flexibility, it may not have as large a community or ecosystem as React Native or Ionic.&lt;/p&gt;

&lt;p&gt;The choice among React Native, Ionic, and NativeScript should depend on your project requirements, team expertise, and desired user experience. Each framework has its own strengths and weaknesses and its own ratio of development time to UX, so understanding your goals will help you make the best decision for your mobile app.&lt;/p&gt;

&lt;p&gt;For us, as well as for a large portion of other companies, there is no better choice than React Native. We love React, and we have created apps using both the native version and the web one. &lt;a href="https://l.ordergroup.co/contact" rel="noopener noreferrer"&gt;If you need an experienced React &amp;amp; React Native development company, feel free to contact us&lt;/a&gt;. &lt;a href="https://github.com/ordergroup/boilerplate-react-native-expo" rel="noopener noreferrer"&gt;You can also see our Expo setup on GitHub.&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://ordergroup.co/resources/article-business-and-technical/comparing-ionic-nativescript-react-native/" rel="noopener noreferrer"&gt;ordergroup.co&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>technical</category>
    </item>
    <item>
      <title>Supercharging PoC Development with AI: A Smarter, Faster Approach</title>
      <dc:creator>Filip Szamborski</dc:creator>
      <pubDate>Thu, 08 Oct 2026 10:39:16 +0000</pubDate>
      <link>https://dev.to/ordergroup/supercharging-poc-development-with-ai-a-smarter-faster-approach-325f</link>
      <guid>https://dev.to/ordergroup/supercharging-poc-development-with-ai-a-smarter-faster-approach-325f</guid>
      <description>&lt;p&gt;&lt;em&gt;Being able to validate ideas quickly and bring concepts to life matters a lot in software development. Proof of Concept (PoC) development lets you test hypotheses, gather feedback, and make informed decisions before committing significant resources. However, traditional PoC processes can be time-consuming, often getting bogged down in repetitive tasks and coordination problems between frontend and backend teams.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;AI-assisted development changes this. New tools can drastically accelerate the prototyping phase, allowing teams to iterate faster and focus on core value propositions. Today, we'll look at a workflow that uses two such tools: &lt;strong&gt;v0.dev&lt;/strong&gt; for frontend generation and &lt;strong&gt;Cursor IDE&lt;/strong&gt; for backend implementation. This combination promises speed and a more streamlined path from idea to functional prototype.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;The Challenge: Bridging the Frontend-Backend Gap in PoCs&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;One common bottleneck in PoC development is the synchronization between the user interface (UI) and the underlying logic and data handling (backend). Often, frontend development proceeds based on initial assumptions, only to require significant backend adjustments later, or vice-versa. This friction slows down iteration cycles and can obscure the core concept being tested.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Introducing the AI-Powered Duo&lt;/strong&gt;
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;v0.dev: Your AI Frontend Kick-starter&lt;/strong&gt;
v0.dev, from the creators of Next.js (Vercel), is a generative AI tool built for creating web UIs. From simple text prompts or even Figma designs, v0 generates production-quality React components based on popular libraries like Shadcn UI and Tailwind CSS. It is good at turning ideas into interactive interfaces quickly, so you can see and iterate on them right away. Need a complex dashboard layout or a multi-step onboarding form? Describe it to v0, and it will generate the initial code, often surprisingly close to what you need. Its Figma integration also speeds up the process for design-driven teams.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cursor IDE: The AI-Native Code Environment&lt;/strong&gt;
Cursor is an AI-first code editor built on VS Code. It integrates Large Language Models (LLMs) directly into the development workflow, with features that go well beyond simple code completion. Cursor understands the context of your entire codebase, so it can generate code, refactor existing logic, debug errors, and even answer questions about your project. Its "Agent" functionality, now the default interaction mode, lets developers delegate tasks to the AI in natural language, which significantly speeds up work that would traditionally require manual coding. Cursor offers access to various models; Anthropic's Claude 3.7 Sonnet provides a strong balance of performance and reasoning, while Google's Gemini 2.5 Pro is also available for complex coding challenges.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;The Workflow: Frontend-First, AI-Accelerated&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Our proposed workflow uses both tools one after the other, with a tight integration between them:&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Step 1: Crafting the UI with v0.dev&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Prompt or Design:&lt;/strong&gt; Start by describing the desired UI components or pages to v0.dev using natural language prompts. Alternatively, import existing Figma designs to provide a visual starting point.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Generate &amp;amp; Iterate:&lt;/strong&gt; v0 generates React code (typically using Shadcn UI/Tailwind CSS) and, importantly, provides an &lt;strong&gt;interactive preview&lt;/strong&gt; alongside the code. You can immediately see how the generated components look and feel, which gives you fast visual feedback. Refine the UI by providing follow-up prompts, tweaking styles, or modifying component structures directly in the preview or code until the frontend closely matches the PoC requirements.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Export Code:&lt;/strong&gt; Once satisfied, copy the generated React code. Besides the visual layer, this code implicitly defines the data requirements and interactions needed from the backend.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Step 2: Building Backend Endpoints with Cursor IDE&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Import &amp;amp; Contextualize:&lt;/strong&gt; Bring the v0-generated frontend code into your Cursor IDE project. Cursor's AI can analyze this code, understanding the component props, state management, and data fetching needs. You can use features like @codebase or tag specific files to give the AI the necessary context.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Generate Endpoints:&lt;/strong&gt; Use Cursor's Agent or inline editing features (Cmd+K/Ctrl+K) to generate the corresponding backend API endpoints. For example, you might select a frontend form component and instruct the Agent: &lt;em&gt;"Generate a Python/Django API endpoint to handle the submission of this form data, including validation based on the component's props."&lt;/em&gt; The Agent can directly modify files, run commands, and even iterate on errors.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Refine &amp;amp; Connect:&lt;/strong&gt; Cursor will generate the backend code (e.g., Django views/serializers, FastAPI endpoints). Review and refine the generated code, adding specific business logic or database interactions as needed. Cursor can help with this refinement as well, keeping the frontend and backend in sync.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Why This Workflow Excels for PoCs&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Unprecedented Speed:&lt;/strong&gt; AI handles much of the boilerplate for both the frontend UI (with immediate visual feedback via interactive previews in v0) and basic backend scaffolding, which drastically reduces development time. Teams can build and test concepts in days rather than weeks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reduced Friction:&lt;/strong&gt; The frontend-first approach ensures the backend is built to directly support the UI's actual needs, minimizing integration issues and rework.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Focus on Core Logic:&lt;/strong&gt; By automating UI generation and basic endpoint creation, developers can concentrate on the unique business logic and core functionality that differentiates the PoC.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Consistency:&lt;/strong&gt; v0 often uses standardized component libraries (like Shadcn UI), which keeps the UI consistent, while Cursor can be guided to follow project-specific coding standards using .cursorrules.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Improved Collaboration:&lt;/strong&gt; Designers can see their visions translated into interactive code faster with v0, while developers can bridge the gap to backend functionality more efficiently with Cursor.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Faster Validation &amp;amp; Iteration:&lt;/strong&gt; The speed gained allows for quicker feedback loops and rapid iteration based on stakeholder input or testing results.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;The Future is Collaborative AI&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Tools like &lt;strong&gt;v0.dev&lt;/strong&gt;and &lt;strong&gt;Cursor IDE&lt;/strong&gt;do more than replace manual coding: they move developers toward a more collaborative relationship with AI. They act as assistants that handle repetitive tasks, so people can focus on higher-level problem-solving and innovation.&lt;/p&gt;

&lt;p&gt;For managers, this means faster time-to-market for new ideas, lower risk thanks to quick validation, and development teams that work more efficiently. For developers, it means working with current technology, doing less tedious work, and spending more time on the creative and challenging parts of software engineering.&lt;/p&gt;

&lt;p&gt;Teams that adopt these AI-powered workflows put themselves at the forefront of software development and can build faster.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://ordergroup.co/resources/article-business-and-technical/supercharging-poc-development/" rel="noopener noreferrer"&gt;ordergroup.co&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>technical</category>
    </item>
    <item>
      <title>Backend Development in Python. When to Use Django?</title>
      <dc:creator>Filip Szamborski</dc:creator>
      <pubDate>Thu, 08 Oct 2026 10:26:27 +0000</pubDate>
      <link>https://dev.to/ordergroup/backend-development-in-python-when-to-use-django-14bo</link>
      <guid>https://dev.to/ordergroup/backend-development-in-python-when-to-use-django-14bo</guid>
      <description>&lt;p&gt;&lt;em&gt;Django is one of the most popular web backend frameworks for Python, and for good reason. The project's website says it all in one sentence: "Django makes it easier to build better web apps more quickly and with less code."&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Intro
&lt;/h2&gt;

&lt;p&gt;When developing a web backend in Python, &lt;a href="https://wiki.python.org/moin/WebFrameworks" rel="noopener noreferrer"&gt;you have many good choices&lt;/a&gt;. Among full-stack frameworks, there are Django, Masonite, TurboGears, and web2py. If you're looking for something with a smaller footprint, you can choose between FastAPI, Flask, Bottle, and Pyramid.&lt;/p&gt;

&lt;p&gt;At some point, you may ask yourself: when should I use Django, then? With so many choices, should I be using it at all?&lt;/p&gt;

&lt;h2&gt;
  
  
  When to Use Django?
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Rapid Development
&lt;/h3&gt;

&lt;p&gt;Developing with Django is fast. Seriously fast. &lt;a href="https://www.djangoproject.com/" rel="noopener noreferrer"&gt;"Django was designed to help developers take applications from concept to completion as quickly as possible."&lt;/a&gt; This speed is largely due to its built-in features, such as the admin dashboard, the ORM, easily customizable authentication and authorization, form handling with CSRF protection, and more. The foundations are already in place, so you can move faster without sacrificing much quality.&lt;/p&gt;

&lt;p&gt;Furthermore, Django encourages the "Don't Repeat Yourself" (DRY) principle, allowing developers to write less code while achieving more functionality. This is particularly helpful for projects with tight deadlines, where rapid iteration and deployment are essential. It also keeps the project structure consistent, since the framework suggests a typical solution for most problems, so there is no need to reinvent the wheel.&lt;/p&gt;

&lt;h3&gt;
  
  
  Scalable Applications
&lt;/h3&gt;

&lt;p&gt;If you think Django won't work at a large scale just because Python is a relatively slow language, think again. "&lt;a href="https://www.djangoproject.com/" rel="noopener noreferrer"&gt;Some of the busiest sites on the web leverage Django's ability to quickly and flexibly scale.&lt;/a&gt;" The framework is designed to handle high-traffic applications with ease. Some of the features that contribute to Django's scalability include:&lt;/p&gt;

&lt;h4&gt;
  
  
  Caching Framework
&lt;/h4&gt;

&lt;p&gt;Django includes &lt;a href="https://docs.djangoproject.com/en/5.1/topics/cache/" rel="noopener noreferrer"&gt;a robust caching framework&lt;/a&gt; that makes it a breeze to cache content, views, and entire pages. This caching mechanism helps reduce the load on the server and improves the application's performance. It also integrates with the most common tools, such as &lt;a href="https://fly.io/django-beats/caching-in-django-with-redis/" rel="noopener noreferrer"&gt;Redis&lt;/a&gt; and &lt;a href="https://blog.sentry.io/django-performance-improvements-part-4-caching-in-django-applications/#memory-caching" rel="noopener noreferrer"&gt;Memcached&lt;/a&gt;.&lt;/p&gt;

&lt;h4&gt;
  
  
  Asynchronous Tasks
&lt;/h4&gt;

&lt;p&gt;Django supports &lt;a href="https://docs.djangoproject.com/en/5.1/topics/async/" rel="noopener noreferrer"&gt;asynchronous tasks&lt;/a&gt; through integrations with &lt;a href="https://medium.com/django-unleashed/how-to-use-celery-with-django-c4c341997704" rel="noopener noreferrer"&gt;task queues like Celery&lt;/a&gt;. Developers can offload time-consuming tasks to background workers, so the main application stays responsive and scalable.&lt;/p&gt;

&lt;h4&gt;
  
  
  Load Balancing
&lt;/h4&gt;

&lt;p&gt;Django applications can be easily &lt;a href="https://stackoverflow.com/questions/61268051/implementing-load-balancing-in-django" rel="noopener noreferrer"&gt;load-balanced across multiple servers&lt;/a&gt; using standard load balancing techniques, such as round-robin or least-connection algorithms. This allows the application to handle increased traffic by distributing the load across multiple servers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Security
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Security in Django
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.djangoproject.com/" rel="noopener noreferrer"&gt;"Django takes security seriously and helps developers avoid many common security mistakes."&lt;/a&gt; Security is a critical part of web development, and the team behind the framework makes sure their creation is secure. Django provides built-in protection against various types of attacks. Some of its main security features include:&lt;/p&gt;

&lt;h4&gt;
  
  
  Cross-Site Scripting (XSS) Protection
&lt;/h4&gt;

&lt;p&gt;Django's template engine automatically escapes all user-provided input, &lt;a href="https://docs.djangoproject.com/en/5.1/topics/security/#cross-site-scripting-xss-protection" rel="noopener noreferrer"&gt;preventing XSS attacks&lt;/a&gt; where malicious scripts could be injected into web pages. This feature helps protect the application and its users from potential harm.&lt;/p&gt;

&lt;h4&gt;
  
  
  Cross-Site Request Forgery (CSRF) Protection
&lt;/h4&gt;

&lt;p&gt;Django includes &lt;a href="https://docs.djangoproject.com/en/5.1/howto/csrf/#using-csrf" rel="noopener noreferrer"&gt;a robust CSRF protection mechanism&lt;/a&gt; that helps prevent unauthorized actions on behalf of a user. This protection is automatically enabled for all POST, PUT, and DELETE requests, making it difficult for attackers to perform unauthorized actions.&lt;/p&gt;

&lt;h4&gt;
  
  
  SQL Injection Protection
&lt;/h4&gt;

&lt;p&gt;Django's ORM automatically sanitizes database queries, preventing SQL injection attacks. By using parameterized queries and escaping user input, Django ensures that malicious SQL code cannot be executed on the database.&lt;/p&gt;

&lt;h4&gt;
  
  
  Secure Password Hashing
&lt;/h4&gt;

&lt;p&gt;Django uses secure password hashing algorithms, such as Argon2, to store user passwords. These algorithms are designed to be computationally expensive, making it difficult for attackers to brute-force or crack the hashed passwords.&lt;/p&gt;

&lt;h4&gt;
  
  
  Secure Headers
&lt;/h4&gt;

&lt;p&gt;Django &lt;a href="https://docs.djangoproject.com/en/5.1/topics/security/#host-header-validation" rel="noopener noreferrer"&gt;sets several security-related HTTP headers&lt;/a&gt; by default, such as &lt;em&gt;X-Content-Type-Options, X-Frame-Options&lt;/em&gt;, and &lt;em&gt;Referrer-Policy&lt;/em&gt;. These headers help protect the application and its users by enforcing security policies in web browsers.&lt;/p&gt;

&lt;h2&gt;
  
  
  API Development
&lt;/h2&gt;

&lt;p&gt;On its own, Django is already very good for API development. You define a model, then define a view that uses &lt;em&gt;JsonResponse&lt;/em&gt; from &lt;em&gt;django.http&lt;/em&gt;, and on the surface there's usually not much more to it.&lt;/p&gt;

&lt;p&gt;If you want, you can also use Django Rest Framework. &lt;a href="https://www.django-rest-framework.org/" rel="noopener noreferrer"&gt;The addition to Django&lt;/a&gt; is a common choice among web app developers who want to write a front-end in, say, Next.js, and also develop a mobile app, among other reasons.&lt;/p&gt;

&lt;p&gt;Django REST Framework is really easy to integrate, with the site's documentation listing only three steps to get started: installing it with pip or poetry, adding "rest_framework" to your INSTALLED_APPS setting, and, to get started quickly, adding REST framework's login and logout views to your root "urls.py" file. Django Rest Framework makes building complex APIs easy and fast by providing built-in tools, such as serializers, base views, viewsets and mixins. Combining the last two lets you add endpoints or features simply by adding mixins to your viewset class inheritance.&lt;/p&gt;

&lt;h2&gt;
  
  
  Which Companies Use Django?
&lt;/h2&gt;

&lt;p&gt;Django is in use at companies that scaled to operate on petabytes of data every day:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Instagram. Django is in use at &lt;a href="https://engineering.fb.com/2023/09/07/culture/threads-inside-story-metas-newest-social-app/" rel="noopener noreferrer"&gt;both Instagram and Threads&lt;/a&gt;, running on &lt;a href="https://github.com/facebookincubator/cinder" rel="noopener noreferrer"&gt;Cinder&lt;/a&gt;, a custom CPython version developed at Meta. Fun fact: Instagram was able to sustain 30 million users &lt;a href="https://instagram-engineering.com/web-service-efficiency-at-instagram-with-python-4976d078e366" rel="noopener noreferrer"&gt;with only 3 engineers.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://blog.clubhouse.com/reining-in-the-thundering-herd-with-django-and-gunicorn/" rel="noopener noreferrer"&gt;Clubhouse.&lt;/a&gt; The popular app was able to handle 1 million requests per minute with only two backend engineers.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://stackshare.io/sentry/how-sentry-receives-20-billion-events-per-month-while-preparing-to-handle-twice-that" rel="noopener noreferrer"&gt;Sentry&lt;/a&gt;. The popular SaaS handles 20 billion events per month from some of the biggest services, while preparing to handle twice that.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://stackshare.io/disqus/disqus" rel="noopener noreferrer"&gt;Disqus.&lt;/a&gt; The immensely popular user engagement platform runs on Django. You can only imagine how many comments and other items the back-end Python framework must handle.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you need more proof that Django can work for you and your business, look at &lt;a href="https://builtwithdjango.com/projects/" rel="noopener noreferrer"&gt;this webpage&lt;/a&gt;. It lists a multitude of projects of all sizes built with this full-stack framework.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;We use Django because it is scalable, secure, and efficient for developers, even though ticking all these boxes at the same time can seem impossible. It's all thanks to the solid foundations you can easily build on. We have successfully developed many projects using this Python framework and have no plans to give up on it. It lets us write great services quickly while maintaining high quality. If you'd like to discuss working together, &lt;a href="https://l.ordergroup.co/contact" rel="noopener noreferrer"&gt;do not hesitate to contact us.&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://ordergroup.co/resources/article-business-and-technical/backend-development-in-python-when-to-use-django/" rel="noopener noreferrer"&gt;ordergroup.co&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>technical</category>
    </item>
    <item>
      <title>What Does BMS Mean? Battery &amp; Building Management Systems Explained</title>
      <dc:creator>Filip Szamborski</dc:creator>
      <pubDate>Thu, 08 Oct 2026 09:07:02 +0000</pubDate>
      <link>https://dev.to/ordergroup/what-does-bms-mean-battery-building-management-systems-explained-3g9d</link>
      <guid>https://dev.to/ordergroup/what-does-bms-mean-battery-building-management-systems-explained-3g9d</guid>
      <description>&lt;p&gt;&lt;em&gt;BMS most often stands for Battery Management System: the hardware and software that keep a battery or energy store safe, balanced and within its limits. In facility management, the same three letters mean Building Management System, the controller that runs a building's heating, ventilation and access. This guide settles both meanings in the first minute, then digs into the battery and energy-storage side, because that is where we have shipped real systems.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  BMS Meaning: What Does BMS Stand For?
&lt;/h2&gt;

&lt;p&gt;BMS has two common meanings, and the right one depends on the industry you work in.&lt;/p&gt;

&lt;p&gt;In energy, electric vehicles and grid storage, BMS means &lt;strong&gt;Battery Management System&lt;/strong&gt;: the layer of hardware and software that keeps a battery or energy store working safely. In buildings and facilities, BMS means &lt;strong&gt;Building Management System&lt;/strong&gt;: the control system that runs heating, ventilation, air conditioning, lighting and access across a site.&lt;/p&gt;

&lt;p&gt;Here is the fast way to tell them apart:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Battery Management System&lt;/strong&gt; - monitors and protects an energy store; found in EVs, solar-plus-storage, grid batteries and industrial energy plants.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Building Management System&lt;/strong&gt; - supervises building services such as HVAC and lighting; found in offices, factories, hospitals and commercial property.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The rest of this article is about the Battery Management System, because that is the system our engineers design and build. The building-management sense gets its own short, honest section below, where we have no project to claim.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Is a Battery Management System (BMS)?
&lt;/h2&gt;

&lt;p&gt;A Battery Management System is the control layer that keeps an energy store safe, balanced and inside its operating limits.&lt;/p&gt;

&lt;p&gt;The store might be a pack of lithium-ion cells in a car, a container of grid batteries, or something far less obvious. Whatever it holds, the BMS has the same job: measure the true state of the store, protect it from damage, and report clean data to the systems above it. In practice that breaks down into a few concrete functions.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9fry1t7z2z4wumgbthnc.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9fry1t7z2z4wumgbthnc.jpg" alt="A lithium battery module being pulled from a storage rack - the kind of energy store a BMS keeps safe and balanced" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;State of charge&lt;/strong&gt; - how much energy is available right now, so operators and higher-level software can plan around it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cell and zone balancing&lt;/strong&gt; - stopping individual cells or regions from drifting apart, which shortens life and creates hot spots.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Thermal protection&lt;/strong&gt; - watching temperature and triggering cooling or a slowdown before anything overheats.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Safety cut-off&lt;/strong&gt; - isolating the store the moment a reading crosses a hard limit.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Communication&lt;/strong&gt; - passing structured data up to a SCADA system or an energy management layer that makes the commercial calls.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;General references such as Wikipedia and battery-hardware vendors describe these functions for chemical cells. The part most guides skip is what a BMS looks like when the store it protects is not a chemical battery at all.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Getting a BMS Right Is Hard
&lt;/h2&gt;

&lt;p&gt;A BMS is safety-critical software that has to be right every second, not most of the time.&lt;/p&gt;

&lt;p&gt;A dashboard can lag and no one gets hurt. A management system for a large energy store cannot afford that luxury; a missed temperature spike or a late cut-off can damage expensive hardware or worse. That raises the bar in three ways that shape the whole build.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Real time&lt;/strong&gt; - readings arrive continuously, and the system has to react inside tight windows rather than on a human's schedule.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Integration&lt;/strong&gt; - the BMS has to talk to industrial hardware and to the plant's control systems, which often speak older, unforgiving protocols.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Trust&lt;/strong&gt; - operators act on what the system tells them, so the data has to be accurate and the alarms have to be believable.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is why a BMS is rarely a stand-alone app. It is embedded in a larger platform, and it lives or dies on how well it is wired into everything around it.&lt;/p&gt;

&lt;h2&gt;
  
  
  How We Built a BMS for Large-Scale Energy Storage
&lt;/h2&gt;

&lt;p&gt;We built a battery management system for a store that holds no chemical battery at all.&lt;/p&gt;

&lt;p&gt;The client was &lt;a href="https://ordergroup.co/case-studies/kyoto-digital-twin-software/" rel="noopener noreferrer"&gt;Kyoto Group&lt;/a&gt;, a Euronext-listed energy company. The store was a thermal energy store based on molten salt, sitting at a concentrated solar power (CSP) plant. Instead of cells and voltages, the "battery" here is heat held in salt. The control problem, though, is the one every BMS solves: know the state of the store, keep it safe, and give accurate data to the systems that run the plant.&lt;/p&gt;

&lt;p&gt;Because it is a heat store and not a chemical battery, the precise label for what we delivered is an energy-storage management system, even though the project itself uses the term BMS. We integrated it directly with the plant's &lt;strong&gt;SCADA&lt;/strong&gt; layer, which supervises and controls the industrial process, so storage decisions and plant operations stayed in step.&lt;/p&gt;

&lt;p&gt;Alongside it we built a second system: an intelligent surveillance and safety layer using &lt;strong&gt;infrared (IR) cameras&lt;/strong&gt; and image recognition. It works with the BMS and SCADA to catch anomalies that a single sensor reading would miss, such as a hot surface or an object where none should be.&lt;/p&gt;

&lt;p&gt;The goal was to manage energy production at the plant, use the thermal store well, and let the operator get more value from the same hardware. You can read the full build - its core elements, the technology behind it, and the outcome - in the &lt;a href="https://ordergroup.co/case-studies/kyoto-digital-twin-software/" rel="noopener noreferrer"&gt;Kyoto industrial IoT and digital twin case study&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  BMS vs EMS: What Is the Difference?
&lt;/h2&gt;

&lt;p&gt;A BMS protects and reports on the store itself; an EMS decides when to charge, discharge or trade the stored energy.&lt;/p&gt;

&lt;p&gt;The BMS keeps the asset healthy. The Energy Management System, or EMS, puts it to commercial use. They sit side by side and swap data all day, yet they answer different questions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;BMS&lt;/strong&gt; - Is the store safe, and what is its exact state right now?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;EMS&lt;/strong&gt; - Given prices, demand and forecasts, when should we charge, discharge or sell?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We have built the EMS side too. For Skyfri, another energy client, we delivered an Energy Management System that cuts energy costs through trading and peak shaving. If you want the short version of how these acronyms relate, we recorded a plain-language explainer of &lt;a href="https://ordergroup.co/resources/video/vpp-ems-bms/" rel="noopener noreferrer"&gt;VPP, EMS and BMS&lt;/a&gt; that untangles all three in a few minutes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where Battery Management Systems Fit in Industrial IoT
&lt;/h2&gt;

&lt;p&gt;A BMS rarely works alone. It is one embedded subsystem inside a larger industrial IoT platform.&lt;/p&gt;

&lt;p&gt;In the project above, the battery management system was part of a wider system that also carried a digital twin of the plant, weather and energy-price data, and a control interface for operators. That is the shape of most heavy-industry work: sensors and controllers at the edge, a dependable data pipeline in the middle, and software on top that turns raw readings into decisions.&lt;/p&gt;

&lt;p&gt;Designing that full chain - the embedded control, the SCADA integration, and the analytics above it - is what we do in our &lt;a href="https://ordergroup.co/iot-software-development/" rel="noopener noreferrer"&gt;IoT and device software&lt;/a&gt; practice and our &lt;a href="https://ordergroup.co/energy-hub/" rel="noopener noreferrer"&gt;energy platform&lt;/a&gt; practice. A BMS is usually the point where the two meet.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Other BMS: Building Management Systems
&lt;/h2&gt;

&lt;p&gt;If you arrived here from the facility side, a Building Management System is the software that runs a building's HVAC, lighting, metering and access from one console.&lt;/p&gt;

&lt;p&gt;It shares the BMS name and the same broad idea, one control layer over many devices, but it is a separate field with its own vendors and standards. We do not build facility BMS software, and we would rather say so than pretend. Our work sits on the energy and battery side described above.&lt;/p&gt;

&lt;h2&gt;
  
  
  Common Questions About BMS
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What does BMS mean in engineering?
&lt;/h3&gt;

&lt;p&gt;In engineering, BMS almost always means Battery Management System: the electronics and software that monitor and protect a battery or energy store. Context tells you whether someone means that sense or the building-automation one.&lt;/p&gt;

&lt;h3&gt;
  
  
  Is BMS the same as EMS?
&lt;/h3&gt;

&lt;p&gt;No. A BMS keeps the energy store safe and reports its state, while an EMS decides when to charge, discharge or trade that energy. They work together but solve different problems.&lt;/p&gt;

&lt;h3&gt;
  
  
  What does BMS mean in a building?
&lt;/h3&gt;

&lt;p&gt;In a building, BMS means Building Management System: the central controller for heating, ventilation, air conditioning, lighting and access. Beyond the shared acronym, it has nothing to do with batteries.&lt;/p&gt;

&lt;h3&gt;
  
  
  Who builds custom BMS software?
&lt;/h3&gt;

&lt;p&gt;Software teams with real energy and industrial IoT experience build custom BMS software. We have delivered a SCADA-integrated BMS for a large-scale thermal energy store and an EMS for an energy trading client, and we are glad to talk through your case.&lt;/p&gt;

&lt;p&gt;Working on energy storage, a solar or grid project, or an industrial control system that needs a dependable BMS? &lt;a href="https://ordergroup.co/energy-hub/" rel="noopener noreferrer"&gt;Talk to our energy team&lt;/a&gt; about a free technical consultation.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://ordergroup.co/resources/article-business-and-technical/what-does-bms-mean/" rel="noopener noreferrer"&gt;ordergroup.co&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>technical</category>
      <category>energy</category>
      <category>iot</category>
    </item>
  </channel>
</rss>
