Technology and Software Solutions | Bitbean

Latest software development technologies

Using the latest software development technologies allows us to go rapidly from high-level concepts to a finished piece of software in minimal time. We start by getting high-level concepts which we use to power our solution-discovery process to figure out the most elegant solution. We then turn those concepts into flow diagrams and Lo-Fi wireframes which are designed by our UI/UX team with constant input from the tech leads and BAs on the project. Once we settle on the solution, we then turn it into Hi-Fi designs. We use the dual-track Agile approach which allows us to create separate iterations for each part of the project sending any solution that has been completed into development.

Let's talk

Client collaboration

The team iterates at each step with the client until they all are happy with the proposed solution. We always start by targeting the smallest MVP that can get released, allowing us to keep the risk on a non-viable/useless product low.

In development, we use TDD together with CI/CD which allows us to do quicker deployments of all the code and to share the progress with our clients so that they can be as involved as they want all along the way.

Quintessential in using the latest software development technologies

Key software development tools we use for elegant solutions

Docker

Docker

Docker gives us the flexibility, efficiency, and benefit of security while allowing us to deploy our code in a secure fashion. No more of that “it worked on my machine” stuff.

Gitlab

Gitlab

We use Gitlab for versioning and code collaboration as this affords us flexibility and the tooling we need for automated tests, builds and deploys.

Our guiding principles

Our development team works hand in hand with designers, using the latest software development technologies, and we architect around that paradigm. Our developers will code the user interface and backend logic with these principles in mind.

checkMobile first

checkUX / UI

checkSingle page apps

The software development technologies we use

ASP.Net core (c#)

ASP.NET Core is an emerging, robust, and feature-rich framework that provides features to develop super-fast web/cloud apps.

arrow_forwardLong processing times which is required by the application and need a lot of CPU time

arrow_forwardSince .Net is a strict type system and offers compile-time error checks, it’s more potent than any JavaScript language/framework. Therefore, it will be used for applications that require high security and process sensitive data.

arrow_forward.Net has a much bigger toolset of features and functionality that work together better and are more battle proven.

Read More arrow_right_alt
ASP.net
Node.js

Node.js

Node.Js is built on JavaScript, therefore it’s best suited when building client-side applications which are based on the same JavaScript framework.

The main idea of Node.js is, use non-blocking, event-driven I/O to remain lightweight and efficient in the face of data-intensive real-time applications that run across distributed devices.

Since Node.js handles processes on a ‘single-threaded’ event-loop it will be best to use it when an application needs high levels of concurrency but less amount of dedicated CPU time. If an application is required to carry out some long-running calculations in the background. So if the server is doing some calculation, it won’t be able to process any other requests

Examples of applications where a software development technology like Node.js will provide the best usage:

arrow_forwardChat applications

arrow_forwardGame servers – Fast and high-performance servers that need to processes process thousands of requests at a time.

arrow_forwardA collaborative environment such as document management. Where multiple people who post constant changes by checking out and checking in documents. Node.js event loop will be triggered whenever documents are changed in a document managed environment, providing the most efficient process handling.

arrow_forwardStreaming servers – Multimedia streaming servers wherein clients have request’s requests to pull different multimedia contents from the server.

React/Redux

React.js is the most powerful UI library ever created. We use the combination of React-Redux for any client-side application that’s JavaScript based (usually web apps).

React approaches building user interfaces differently by breaking them into components. This means React uses a real, full-featured programming language to render views, which we see as an advantage for a few reasons:

arrow_forwardLong processing times which is required by the application and need a lot of CPU time

arrow_forwardJavaScript is a flexible, powerful programming language with the ability to build abstractions. This is incredibly important in large applications.

arrow_forwardBy baking an understanding of markup and content into JavaScript, there’s no manual string concatenation and therefore less surface area for XSS vulnerabilities.

React.js / Redux