Do you have questions?

Application development

We develop individual embedded applications for Linux, Android, bare metal devices and various real-time operating systems. Our experienced software engineers have knowledge of various programming languages, compiler functions and expertize in all aspects of operating systems and their structures. We provide you with our expertise to assist your self-developed software application in addition to handling the entire development of your customized application.

What is application development?

Rational application development, also known as software development or application development, refers to the creation of computer programs and software. This involves programming specific customer applications- be it an app, a web application or software for embedded systems. The development is based on your requirements and wishes. The aim is to create an executable computer program that reliably performs all the desired functions. Depending on the type of application, different programming languages and development environments are used.

Phases of application development

Application development can be roughly divided into several phases:

  1. requirement analysis: We first determine your requirements and methodically document them. We analyze the functionalities that the program ought to provide
  2. design and architecture: We define the software architecture and a rough technical design based on the requirements.
  3. implementation: In the implementation phase, our developers write the actual program code. We implement the software module by module.
  4. testing: After implementation, we test the software extensively. We carry out unit tests, integration tests and system tests.
  5. introduction: Following a successful testing phase, we implement the software in the production environment and present it to you.

Procedure for application development

There are various basic process models for application development:

  • The waterfall model structures development in successive phases. Only after one phase is finished completely can the following one begin.
  • Agile methods such as Scrum rely on an incremental approach. The development process is divided into short sections in which partial functionalities are implemented.
  • With Kanban-based approaches, the progress and status of the tasks determine the development process. There are no fixed phases.
  • Hybrid models are also possible, they combine agile and waterfall methodologies, for instance.

Depending on your project requirements and wishes, we select the appropriate process model.

Quality features of application development

A high-quality software application is characterized by the following quality features:

  • User-friendliness: The user interface is self-explanatory and easy to use. The user finds his way around intuitively.
  • Efficiency: The software works quickly and efficiently. Resources such as CPU load or memory consumption are optimized.
  • Maintainability: The code is clearly structured and well documented. It can be easily extended and maintained.
  • Security: The application is protected against attacks, malware and misuse. It meets the security standards.

Most important to us are quality and adherence to budget and deadlines.

Solutions from emtrion

As an experienced software and IT consulting company, we offer comprehensive expertize in application development. Here is an overview of our services:

Operating systems and programming languages

Operating systems:

  • Linux, Android app development, bare metal devices, real-time operating systems (FreeRTOS, SCIOPTA, Keil RTX, SEGGER embOS)
  • Programming languages: C, C++, C#, Python, JavaScript, Kotlin

 

Software development

  • Complete application development: End-to-end development of embedded applications
  • Support: Support for in-house developed software applications

GUI and multimedia

  • GUI design: Use of Qt and TouchGFX
  • Multimedia: Development of multimedia applications with GStreamer

Industrial controls

  • Communication protocols: EtherCAT, ProfiNet, CANopen

Technologies and frameworks

  • Use of state-of-the-art frameworks and libraries
  • Provision of beta versions for continuous testing

Cooperate with us

Application development is a complex process that requires a great deal of expertize. Our team hast o he, we have the necessary skills to provide you with tailor-made software solutions. Whether it's a web application, mobile app or embedded software - we adapt our approach and technologies to your project. Thanks to state-of-the-art methods and a focus on key quality aspects, we provide you with software that meets all requirements in a stable and reliable manner. Get in touch with us for your next software project!