Languages and Frameworks
This section provides an overview of the programming languages, frameworks, and libraries used in the Alliance Business Suite (ABS) development. For each language and framework, we outline the core principles, recommended practices, and important considerations to take into account during development.
Table of Contents
.NET 7.0
Overview
.NET 7.0 is a cross-platform framework developed by Microsoft. It is mainly used in ABS for server-side logic.
Best Practices
- Use dependency injection for better modularity.
- Always handle exceptions and provide meaningful logs.
Important Libraries
- Entity Framework Core
- ASP.NET Core Web API
Node.JS
Overview
Node.js allows us to run JavaScript on the server. It's primarily used in ABS for building fast, scalable network applications.
Best Practices
- Use async/await for handling asynchronous operations.
- Keep dependencies up-to-date.
Important Libraries
- Axios
- Socket.io
React+Redux
Overview
React is a library for building UIs, and Redux serves as its state management tool.
Best Practices
- Keep components small and focused.
- Use Redux Toolkit for more efficient state management.
Important Libraries
- React Router
- Redux Thunk
TypeScript
Overview
TypeScript is a superset of JavaScript that allows for optional static typing.
Best Practices
- Use interfaces to define complex types.
- Avoid using the
anytype.
Bootstrap
Overview
Bootstrap is a front-end framework that helps in responsive web development.
Best Practices
- Use utility classes to keep custom CSS to a minimum.
- Customize Bootstrap variables instead of overriding styles.
Radzen.Blazor
Overview
Radzen.Blazor is a component library for Blazor.
Best Practices
- Utilize built-in components for rapid development.
- Keep an eye on performance when using multiple components.
CSS
Overview
Cascading Style Sheets (CSS) is used for styling the UI components in ABS.
Best Practices
- Use BEM or OOCSS methodology.
- Opt for CSS variables for theme-based styling.
Blazor
Overview
Blazor is a .NET web framework for building client-side web apps using C#.
Best Practices
- Use Razor components for reusability.
- Employ Blazor WebAssembly for client-side logic where appropriate.