Glossary β Knowledge about it and
website development for digital agencies
-
Acceptance Tests
What does Acceptance Tests mean?
Acceptance tests, also known as acceptance criteria or acceptance test-driven development (ATDD), are tests that determine whether a software system satisfies the requirements and expectations of its stakeholders. These tests are typically performed at the end of the development cycle to verify that the system meets the specified requirements before it is released to production.
Acceptance tests are written from the perspective of the end-user, and they define the criteria that must be met for the software to be considered fit for its intended purpose. The tests cover a range of scenarios and use cases, and they are designed to validate that the system behaves as expected in real-world situations.
Acceptance tests are used to validate the functionality, performance, and usability of a system, and they provide a way to verify that the system meets the needs of its stakeholders. They also serve as a form of documentation, providing a clear and concise description of the system's behavior.
Acceptance tests are typically performed by a dedicated testing team, but they can also be automated using testing frameworks and tools. Automated acceptance tests can be run as part of a continuous integration/continuous delivery (CI/CD) pipeline, ensuring that the system is tested at every stage of the development process.
In conclusion, acceptance tests play a crucial role in the software development process, helping to ensure that the final product meets the needs of its stakeholders and is fit for its intended purpose. -
Agile Development
What is Agile Development?
Agile software development or agile development originally comes from the field of software development. Agility is understood to mean a flexible and transparent process in the development team, personal responsibility and, in the best case, assumption of responsibility as well as tasks within the team. -
Application Programming Interface (API)
What is an API?
An application programming interface also called API is a computer interface that defines the interaction between multiple software intermediaries. It defines the types of calls or requests that can be made, how they are made, the data formats that should be used, the conventions that must be followed. Known interfaces are often in xml or json format.
-
Backend (Web development)
What is a backend?
A backend or CMS (Content Management System) is a system that allows users to manage web projects (e.g. a website) without programming knowledge, i.e. to adjust the structure or content independently. Well-known CMS systems are e.g. Typo3, WordPress, Contentful, Strapi, Contao, Magento, and many more. -
Backlog
What is a backlog?
In IT and software development, a backlog is a place for tasks that have not yet been developed by the Scrum team. The team independently takes tasks from the backlog and places them on the board, such as Jira, in the "Work in Progress" column. -
Bugs
What are Bugs in the IT?
In IT and software development, bugs are errors in the code which in most cases lead to disruptions or problems in the operation of a digital product such as applications, websites, apps, CMS or backends. Bugs can be caused by logical, semantic and technical errors. Fortunately, most bugs can be found and fixed quickly.
The real story behind "Bug" in the IT:
A team working on the Harvard Mark II computer, which was an early electromechanical computer, found that the system was malfunctioning. Upon inspection, they discovered a moth trapped in one of the relays. The team carefully removed the insect and documented the incident in their logbook, jokingly noting that they had "debugged" the computer. The moth was taped into the logbook with the note: "First actual case of bug being found."
-
CI/CD Pipeline
What are CI/CD Pipelines?
CI/CD (Continuous Integration/Continuous Deployment) pipelines are automated processes in software development that help integrate code changes into a single codebase and continuously build, test, and deploy software applications.
Continuous Integration (CI) involves automatically building and testing code changes whenever a new code change is pushed to the codebase. This helps catch bugs and other issues early in the development process and ensure that the codebase remains in a stable state.
Continuous Deployment (CD) involves automatically deploying code changes to production whenever the code changes pass the build and test phases. This helps reduce the time and effort required to deploy code changes and ensures that changes are quickly made available to end-users.
CI/CD pipelines typically involve several stages, including code analysis, building, testing, and deployment. They are designed to be fast, reliable, and repeatable, and are critical for ensuring the quality and stability of modern software applications. -
CMS β Content Management System
What is a CMS?
CMS or the abbreviation Content Manager System describes a software for the management of digital content without programming knowledge to store the structure and content of websites, digital applications or online stores, also called Backend.
There are different content management systems for different areas. So one uses for regular. Websites e.g. WordPress, Typo3, Joomla, Dupal, Strapi CMS and many more. In the corporate sector, Adobe Experience Manager (AEM) or Contentful are used, but also Typo3. And for online stores Wordpress WooCommerce, Magento, Shopify or OpenCart. -
Content Delivery Network
What is a Content Delivery Network or CDN?
A CDN is an optimized server environment for the fast and optimized delivery of content such as images and videos. The advantage of content delivery networks is that the actual server has no load for queries and the CDN takes these, distributes them dynamically over the world and delivers them optimally. -
Content Marketing
What is content marketing?
Content marketing is the generation of leads via self-created content whose keywords are indexed by Google and thus lead searching users to content pages such as articles or blog posts. Content marketing has the advantage that the keywords grow organically and the website operator is independent of paid ads (google Ads). -
Contentful (Content Management System)
What is the Contentful CMS?
Contentful is a cloud-based content management system (CMS) that relies on a headless architecture. Content is stored and managed independently of the design and presentation, which offers maximum flexibility for output on different platforms (web, mobile, IoT, etc.).
Important terms:
- Headless CMS: Separates content creation from presentation. The content is provided as an API and can be used in any front end.
- Content model: Structures content into types (e.g. articles, blog posts, products). Each structure can be defined individually
- API: Contentful makes content available via RESTful and GraphQL APIs, which enables easy integration into applications.
- Spaces: Virtual containers in which content and structures are organized.
- Entries: Individual content elements based on the content models.
- Assets: Media content such as images and videos that are managed via the CMS.
-
Cookie Consent
What is a Cookie Consent?
A cookie consent or a cookie banner are upstream elements that give website visitors the option of choosing whether or not to activate 3rd party tracking tools such as Google Analytics. -
Customer Journey
What is the customer journey?
The customer journey is the path that a user takes (on the web), for example, to buy a product. In general, the customer journey describes the path to a specific goal. Example: A user sees a banner with advertising, clicks on it and ends up at the product offer, puts the product in the shopping cart and orders it.
-
designrush
What is designrush.com?
DesignRush is an online portal for top professional agencies, ranked according to their specific expertise.
DesignRush has evaluated and ranked numerous agencies to help brands find the best full-service agencies, web design firms, digital marketing companies and leading technology providers.
More under: https://designrush.com -
Dev Ops
What is a dev ops?
DevOps is a combination of "Development" and "Operations", representing a methodology aimed at fostering closer collaboration between software development and IT operations teams. The goal is to make software development, deployment, and maintenance more efficient and reliable.
Here are the core elements of DevOps:
- Collaboration and Communication: Development and operations teams work closely together to avoid misunderstandings and make quicker decisions.
- Automation: Many manual processes (such as testing, integration, deployment, and monitoring) are automated using tools to minimize errors and increase efficiency. Examples of such tools include Jenkins, Docker, Kubernetes, or Ansible.
- Continuous Integration (CI) and Continuous Delivery (CD): Code is integrated frequently in small increments and tested automatically (CI). These tested changes can then be automatically delivered to production environments (CD), making deployments faster and safer.
- Monitoring and Feedback: Systems are monitored in real-time to detect issues early, allowing for quick feedback that feeds back into the development cycle.
- Infrastructure as Code (IaC): Infrastructure is managed and provisioned through code that can be versioned, reviewed, and reused. Tools like Terraform or CloudFormation are commonly used for this.
-
Digital Agency
What does a digital agency do?
Digital agencies are not advertising agencies but agencies that focus exclusively on the conceptual work, screen design and programming of digital solutions such as websites, portals and applications. A digital agency can develop and manage a digital product from start to finish. -
Digital Out of Home
What is Digital out of Home?
Digital Out of Home or DOOH is a digital advertising format for any type of outdoor advertising. Digital touchpoints of DOOH can be found at airports, public places, point of sale or shopping. The technical infrastructure of DOOH consists of digital displays and a central server that plays out the advertising.
-
Flutter (App Development)
What is Flutter?
Flutter is an open source UI software development kit (SDK) from Google that is used to create natively compiled applications for mobile devices, web and desktop from a single code base. The programming language used in Flutter is Dart. Flutter can be used to develop hybrid apps for Apple iOS and Google.
Advantages of Flutter:
- Unified code: A single codebase for Android, iOS, web and desktop applications.
- Fast development: Hot reload allows immediate preview of changes without restarting the application.
- High performance: Native compilation and own rendering engine ensure smooth and performant applications.
- Rich UI components: Extensive libraries and widgets for appealing and customizable user interfaces.
- Strong community and support: Active developer community and comprehensive documentation.
-
Frontend (Web Development)
What is a frontend?
In marketing and programming circles, a frontend is the visible interface that can be operated by the user. When you call up a website, you see the frontend.
-
Google Page Rank
What is Google Page Rank?
Google Page Rank is the placement / rank of a website depending on searched keywords. A good page rank is when a website is on page one of Google, i.e. among the first 10 websites. -
Google Page Speed
What is Page Speed?
The page speed of a website is measured and evaluated by search engines such as Google and provides suggestions on how to technically optimize websites in order to, for example, make content available to visitors faster and more optimally.
-
Headless CMS
What is a Headless CMS?
A headless CMS (Content Management System) is a back-end-only content management system that provides a way to manage and store content, while leaving the presentation of that content to be handled by a separate front-end application. In a headless CMS, the content is stored in a database and served through APIs, which can be consumed by any front-end technology, such as a website, mobile application, or voice-activated device.
The headless approach allows for greater flexibility and scalability, as the front-end and back-end can be developed and deployed independently. This means that the front-end can be updated or changed without affecting the back-end, and vice versa. Additionally, the front-end can be designed to work across multiple platforms, devices, and channels, enabling a consistent user experience.
Headless CMSs are often used by organizations that need to deliver content to multiple devices and platforms, or who want to decouple the presentation of their content from their content management system. This allows them to prioritize their development efforts on delivering a compelling user experience, without being held back by the limitations of their CMS.
However, headless CMSs can also be more complex and require a higher level of technical expertise compared to traditional, monolithic CMSs, which include both the front-end and back-end in a single system. -
Hybrid App Development
What is Hybrid App (Development)?
Hybrid app development refers to the process of creating mobile applications that can run on multiple platforms, such as iOS, Android, and web browsers, using a combination of technologies. Hybrid apps are built using web technologies like HTML, CSS, and JavaScript, and then wrapped in a native container that allows them to be installed and run on various devices.
The core idea behind hybrid app development is to write code once and deploy it on multiple platforms, rather than developing separate applications for each platform. This approach can help save time and resources, as developers can reuse a significant portion of the codebase across different platforms.
Hybrid apps typically use frameworks or libraries that provide a bridge between the web technologies and the native platform. Some popular frameworks for hybrid app development include Apache Cordova (formerly known as PhoneGap), Ionic, React Native, and Flutter.
While hybrid apps offer advantages in terms of code reusability and cross-platform compatibility, they may not always provide the same level of performance and native user experience as fully native apps. Native apps are specifically developed for a particular platform and can take advantage of the platform's specific features and capabilities. However, hybrid apps are often a preferred choice for simpler applications, prototyping, or when time and budget constraints are a concern.
-
Integration Test
What is an Integration Test?
An integration test is a type of software testing that verifies the interactions between different components or systems of an application. The goal of integration testing is to ensure that these interactions are functioning as expected and that the data flows between the components are correct. It is performed after unit testing to validate the individual components work together as a system and can help identify issues early in the development process. Integration tests are typically more complex than unit tests and often involve multiple components or systems.
-
Legacy Code
What means Legacy Code in programming?
Legacy code refers to older, stock program code used in an application, website, or software system. The term is often used to describe code that is difficult to understand, maintain, or update due to various factors such as:
- Age: The code may be outdated or based on obsolete technologies, programming languages, or frameworks that are no longer actively supported or have not been updated within the project
- Lack of documentation: the project may be insufficiently documented or not documented at all, making it difficult to understand the functionality or make changes
- Complexity: cluttered or poorly structured code, making it difficult to maintain and update
- Dependencies: on other components or systems that are also outdated or difficult to change
Legacy code can be a problem because it can slow down or hinder a team's ability to add new functionality or update existing functionality. This can lead to higher maintenance costs, longer development times and poorer software quality.
In some cases, it may make sense to incrementally replace or modernize legacy code to improve system maintainability and upgradability. However, this can also present challenges, such as the need to ensure that existing functionality is preserved during the modernization process and that the development team has the necessary knowledge and skills to successfully manage the transition.
-
Machine Learning
Was ist Maschinelles Lernen?
Machine learning is a method of data analysis that automates the construction of an analytical model. It is a branch of artificial intelligence based on the idea that machines should be able to learn and adapt through experience. It is closely related to computational statistics, which makes predictions based on statistical data collected by a computer. It is sometimes confused with data mining, but that is more focused on analyzing exploratory data, whereas machine learning involves complex algorithms that are used primarily for prediction, where machine learning focuses on prediction based on attributes already known through training data, then data mining focuses more on finding unknown attributes in any data.
-
Magento Onlineshop
What is Magento CMS?
Magento is a content management system (CMS) and e-commerce platform used by businesses to build and manage their online stores. It is a flexible and scalable platform that provides a range of tools and features for creating, managing, and growing an online business.
Magento offers a variety of design templates, as well as the ability to customize the look and feel of the website. It also provides tools for managing products, categories, and inventory, processing payments and shipments, and tracking customer orders and shipments.
In addition to its core e-commerce features, Magento also offers a range of additional services and integrations, including mobile commerce, marketing, and customer engagement tools, making it a comprehensive solution for businesses looking to establish and grow an online presence.
Magento is aimed at small to large businesses, as well as enterprise-level organizations, who are looking for a robust, scalable e-commerce solution. It is a popular platform due to its flexibility, customizable features, and large community of developers who provide extensions and plugins to enhance its functionality. -
Minimum Viable Product (MVP)
What is an MVP?
An MVP is a (first) minimally functional or viable product. An MVP does not necessarily have to be a digital product, it can of course also be something haptic. The term is common in software development and describes a real product that is not yet ready, but can already be used. It can also be referred to as a "minimum viable product".
-
Nearshoring
What is Nearshoring?
Nearshoring is a business practice where companies outsource work to suppliers or partners located in nearby countries. The idea is to take advantage of the proximity and cultural similarities between the two countries to reduce the costs and difficulties associated with outsourcing to more distant locations.
Nearshoring is often contrasted with offshoring, which involves outsourcing work to suppliers in countries that are further away, and onshoring, which involves bringing work back in-house from an outsourced location.
Companies may choose to nearshore for a variety of reasons, including cost savings, improved quality, and the ability to better manage the outsourced work. Nearshoring can also help companies access new markets and tap into local expertise. However, it is important to carefully consider the risks and benefits of nearshoring, as well as the regulatory and cultural differences that may exist between countries. -
npm
What is npm / node package manager?
Node Package Manager is a package management system and repository for the JavaScript programming language, specifically the Node.js environment. NPM enables developers to share, publish, and manage reusable code modules (also called packages or libraries) that can be used by other developers in their own projects.
NPM offers several benefits, such as:
- Reusability: developers can leverage existing packages to save time and effort in developing shared functionality
- Versioning: NPM supports versioning of packages, so developers can easily switch between different versions of a library
- Dependency management: NPM automatically manages dependencies between packages and ensures that the correct versions of the required packages are installed
- Publishing: developers can create their own packages and publish them to the NPM repository to share with the community
- To use NPM, developers must first install Node.js on their system, as NPM is included as part of the Node.js installation. Installing Node.js gives developers access to the npm command-line tool, which they can use to search for, install, update, publish, and manage packages
-
Outbound-Marketing
What is Outbound Marketing?
Outbound marketing is a form of product advertising through direct mail. In outbound marketing, it is the company that triggers the purchase, not the customer.
Outbound marketing differs from inbound marketing in that the company offers the product for purchase immediately, sometimes even without waiting for the potential customer to develop a demand (as is often the case with cold selling). In inbound marketing, this demand is created through content.
The advertising information is displayed anywhere and anytime regardless of the potential customers' preferences. Outbound marketing also has a pejorative synonym for interruptive marketing - interruptive marketing, because advertising is often shown in unexpected interruptions during TV shows or radio broadcasts.
-
Perplexity
What does perplexity mean?
Perplexity is a term from information theory and natural language processing (NLP) that is used to measure the uncertainty or complexity of a language model. It indicates how well a model is able to predict a series of words or sentences.
Here is a brief explanation:
- In language modeling: perplexity is used to evaluate how well a language model can predict a particular sequence of text. A low perplexity value indicates that the model understands the sequence well and can predict it accurately. A high perplexity value means that the model has difficulty predicting the next part of the sequence.
- Mathematically: Perplexity is the exponential form of the mean logarithmic loss of a model. For example, a model with a perplexity of 10 means that it is “uncertain” on average between 10 possible words for each prediction.
- Interpretation: The lower the perplexity value, the better the model can understand and predict text. Perfect understanding would lead to a perplexity of 1 (no uncertainty). A high perplexity indicates that the model may not be well trained or that the data is too complex or insufficient.
-
Perplexity AI Search Engine
What is Perplexity Search Engine?
Perplexity is an AI-powered search engine that combines elements of traditional search engines like Google with the capabilities of AI-driven tools such as ChatGPT. Launched in 2022, Perplexity aims to deliver quick, accurate responses by summarizing data from multiple sources, while also providing citations for its answers. It differentiates itself by offering a more straightforward search experience without the heavy presence of ads seen in competitors like Google.
In addition to typical search functions, Perplexity allows users to engage in conversational queries, ask follow-up questions, and refine results. Its pro version includes advanced features using models like GPT-4 and Claude 2, making it more robust for professional or complex tasks like document analysis and content generation.
What sets Perplexity apart is its focus on clarity and real-time synthesis of information, helping users find concise, accurate answers without being overwhelmed by excess information -
PHP (Programmic language)
What is PHP?
PHP is a widely used programming language or scripting language on which numerous well-known systems are based, such as WordPress, Magento or Typo3 are programmed. -
Product Owner
What is the Product Owner?
A product owner is a passionate leader who is dedicated to defining and shaping the vision of a product. They work tirelessly with cross-functional teams, including development, design, and stakeholders, to bring their vision to life and deliver a product that truly wows their customers. The product owner is the heartbeat of the product, constantly striving to understand and anticipate the needs of the target audience. They are the voice of the customer, making tough decisions and taking bold steps to ensure that their product is the very best it can be. Creating and refining a product backlog is a labor of love for them, as they tirelessly prioritize and re-evaluate the backlog based on changing market conditions and customer feedback. The product owner takes the success of the product to heart, always pushing themselves to achieve greater heights and deliver a product that exceeds the expectations of both customers and the business. -
Progressive Web App
What is a PWA?
Progressive Web Apps (PWAs) are a type of web-based application that aim to provide a native app-like experience within a web browser. PWAs are designed to work offline, load quickly, and provide a fast and responsive user interface, just like native mobile apps. They can be installed on a user's device and can run in a standalone mode, without the need for an internet connection.
The key characteristics of PWAs include:
- Reliable: PWAs should load instantly, even in low connectivity or offline environments.
- Fast: PWAs should have a smooth and responsive user interface, providing a seamless experience for users.
- Engaging: PWAs should provide an immersive user experience that is similar to that of a native app.
- Installable: PWAs can be installed on a user's device, just like a native app, providing easy access and offline functionality.
PWAs are built using web technologies such as HTML, CSS, and JavaScript and are accessible through a URL in a web browser. They can be installed on a user's device through the browser, and they can also be listed in app stores like Google Play Store and Apple's App Store.
In conclusion, PWAs offer a bridge between native apps and traditional web applications, providing the best of both worlds. They offer a native-like experience with the reach and ease of deployment of a web app. -
Prototype
What is a digital prototype?
Prototypes are non-functional digital products that illustrate the not yet finished product, e.g. a website, app or application, before they are implemented. Prototypes are very advisable because you can check and improve the screen design as well as the user experience before programming, thus saving money and time in product development.
-
react.js programming language for web applications
What is react.js?
React is a popular JavaScript library used for building user interfaces. It was developed by Facebook and is now widely used by developers and companies around the world.
React allows developers to build reusable UI components that can be combined to create complex user interfaces. It uses a declarative approach to programming, which means that developers describe the desired outcome of their code and let React handle the details of rendering it to the screen.
React is often used in web development for building single-page applications (SPAs), where all of the content is loaded on a single page and the user interacts with the application dynamically, without the need for page refreshes. It can also be used for creating mobile apps, desktop apps, and even virtual and augmented reality applications.
You should consider using React if you are building a complex user interface that requires a lot of dynamic interactivity. React makes it easy to manage complex UI components and their interactions, and it can help you create a more maintainable and scalable codebase. It's also a popular and well-supported library with a large community of developers and resources available. -
Requirement engineering
What is requirements analysis in programming and IT?
Requirements analysis (also referred to as requirements management or requirements elicitation) is an important process in IT and software development. It is the systematic identification, documentation and analysis of requirements for a system or software. The goal of requirements analysis is to understand the needs and expectations of stakeholders (e.g., customers, users, managers, developers) and to derive clear, complete, and consistent requirements from them.
Requirements analysis usually consists of several logical steps:
1. Requirements elicitation: Here, information is gathered from various stakeholders to understand their needs and expectations.
2. Requirements analysis: The collected information is analyzed to identify the actual requirements for the system or software.
3. Requirements documentation: The identified requirements are documented in a structured format to create a common understanding for all stakeholders.
4. Validation and verification of requirements: The documented requirements are reviewed to ensure that they are accurate, complete, and consistent.
5. Requirements management and tracking: Requirements are managed and tracked throughout the development process to ensure they are met in the final solution.
Requirements analysis is critical to the success of an IT project because it helps to clearly define project goals and requirements, reduce the risk of errors and misunderstandings, and increase customer satisfaction.
-
SaaS Software
What is SAAS Software?
SaaS is a cloud-based delivery model for software applications. Instead of installing and maintaining software on individual computers or local servers, customers subscribe to the software and access it through the internet. The SaaS provider is responsible for hosting the application, handling security, providing updates and maintenance, and ensuring availability. This model allows for scalable, flexible, and cost-effective access to a wide range of software applications, including customer relationship management (CRM), enterprise resource planning (ERP), and project management, among others. -
Screen Design
What does Screen Design mean?
Screen design describes the design process online, e.g. when you design a website, portal, app or digital product, the result is called screen design. -
Scrum Master
What is a scrum master?
The role of the Scrum Master is central to the Scrum framework, used in agile software development. The Scrum Master helps the team apply Scrum principles and practices correctly, ensuring that the team works productively and efficiently. Here's a brief overview of the Scrum Master's key responsibilities:
- Servant Leader: The Scrum Master serves the team and the organization by removing obstacles that may hinder the team's ability to work effectively. These could be organizational or technical blockers.
- Facilitator: They organize and facilitate Scrum events such as the Daily Scrum, Sprint Planning, Sprint Review, and Retrospective to ensure they run efficiently and fulfill their purpose.
- Coach: The Scrum Master coaches the team, Product Owner, and organization in applying agile principles. They help everyone understand and implement agile values without dictating how the team should do its work.
- Team Protector: The Scrum Master shields the team from external interruptions or distractions that might impact the progress of the sprint, such as defending against new demands that aren't planned for the current sprint.
- Continuous Improvement: The Scrum Master fosters a culture of continuous improvement, encouraging the team to regularly reflect on itself and make necessary adjustments to enhance performance.
-
Scrum Methodology
What is Scrum Method?
Scrum is an agile development methodology used to develop software based on an iterative and incremental process. Scrum is an adaptable, fast, flexible and effective agile methodology designed to deliver value to the customer and the team throughout the project development. The main goal of the Scrum method is to meet the needs of the customer through an environment of transparent communication, collective responsibility, and continuous progress. The development starts with a general idea of what needs to be developed and creates a prioritized backlog of features that the product owner wants to achieve in order to develop the product with the highest customer centricity. -
SDK
What is an SDK or Software Development Kit?
SDK stands for "Software Development Kit." It is a collection of software tools, libraries, documentation, and resources that developers use to create software applications for specific platforms, frameworks, programming languages, or devices. SDKs provide a pre-packaged set of tools and resources that simplify and expedite the process of developing applications by providing ready-made components and functionalities.
Here's a breakdown of what's typically included in an SDK:
-
Libraries and APIs: SDKs include libraries that contain pre-written code and functions that developers can use to perform specific tasks without having to write the code from scratch. These libraries often come with APIs (Application Programming Interfaces) that define how different software components can interact with each other.
-
Documentation: A well-structured SDK includes comprehensive documentation that guides developers on how to use the provided tools, functions, and APIs. This documentation usually includes explanations, examples, and usage guidelines.
-
Sample Code: Many SDKs provide sample code that demonstrates how to use the various features and functionalities of the SDK. These examples help developers understand how to integrate the SDK into their own projects.
-
Development Tools: SDKs may include specialized development tools that aid in building, testing, debugging, and optimizing applications. These tools can include compilers, debuggers, emulators, and other utilities.
-
Plugins and Extensions: Some SDKs offer plugins or extensions for popular integrated development environments (IDEs), making it easier for developers to work with the SDK within their preferred coding environment.
-
Resource Files: These might include graphics, templates, configuration files, and other resources that are commonly used when developing applications for a specific platform.
SDKs are designed to make the development process more efficient by abstracting away low-level complexities, promoting consistent coding practices, and providing reusable components. They are available for a wide range of platforms and technologies, such as mobile app development (iOS and Android), web development, game development, hardware integration, cloud services, and more. By utilizing an SDK, developers can focus more on creating innovative and unique features for their applications rather than spending time on basic, repetitive tasks.
-
-
shopify (Onlineshop)
What is shopify?
Shopify is a cloud-based CMS designed specifically for online stores with different subscription models. Since the development effort of the CMS and backend is eliminated, with Shopify you can publish an online store in no time and sell products directly. Digital agencies can also custom program the frontend of the Shopify online store and thus develop a unique product. SaaS systems like Shopify do not need to be maintained by the consumer, which is a great advantage. The disadvantage is that you cannot customize everything independently in the backend and have to rely on expensive plugins, for example. -
Streaming
What does streaming mean?
Streaming can be divided into two areas: Live Streaming and On Demand Streaming. In live streaming, video content is usually delivered in real time from the video camera to the recipients via a streaming server. In On Demand Streaming, content from different servers is made available to recipients or viewers as soon as they want to watch it, e.g. Netflix or Spotify. -
Symfony PHP for web development
What is Symfony PHP?
Symfony is a popular PHP web application framework used for building high-quality web applications. It is an open-source framework that has been around since 2005 and is now widely used by developers around the world.
Symfony provides a number of powerful features and tools that make it a great choice for building complex web applications. Some of the key features of Symfony include:
- A robust set of components: Symfony provides a set of reusable components that can be used to build different parts of a web application, such as routing, templating, form handling, and security.
- A flexible architecture: Symfony's architecture is designed to be flexible and extensible, which makes it easy to customize and extend the framework to meet your specific needs.
- Good performance: Symfony is designed to be fast and efficient, with features like caching and optimized code generation to help improve performance.
- Good documentation: Symfony has a comprehensive and well-organized documentation, which makes it easy to get started and find answers to your questions.
In terms of when you should use Symfony, it is well-suited for a wide range of web applications. However, it may be particularly well-suited for:
- Large and complex applications: Symfony's flexible architecture and powerful components make it a great choice for building large and complex web applications.
- Applications with high security requirements: Symfony provides a number of security features, such as authentication and authorization, to help keep your application secure
- Applications that require good performance: Symfony's performance optimization features can help ensure that your application is fast and responsive.
- Enterprise-level applications: Symfony has a large and growing community of developers and is well-suited for building enterprise-level web applications.
Overall, Symfony is a powerful and flexible framework that can help you build high-quality web applications. If you are looking for a PHP framework that is easy to learn, flexible, and can handle a wide range of web application needs, Symfony may be a good choice for you.
-
Terraform
What is terraform?
Terraform is a tool for building, changing, and versioning infrastructure safely and efficiently. It can manage popular service providers as well as custom in-house solutions.
Terraform uses a high-level configuration language called HashiCorp Configuration Language (HCL) to define the desired state of your infrastructure, and then automates the creation, update, and deletion of resources to reach that state. This makes it possible to version control your infrastructure as code and to automate the provisioning and management of infrastructure.
In essence, Terraform enables you to define and manage your infrastructure as code, which makes it easier to track changes, automate deployments, and ensure a consistent state of your resources across multiple environments. -
Test automation
What is test automation?
Test automation helps development teams efficiently test recurring sequences, such as a registration process, automatically and find errors. However, the test processes must be programmed and tested beforehand. If they are running, it is possible to test many different important functions of a large website or software. A distinction is made between unit tests, acceptance tests and integration tests. -
Test Driven Development
What is Test Driven Development (TDD)?
Test-driven development (TDD) is a software development methodology where developers write automated tests before writing the actual code. The tests define the expected behavior of the code, and the code is written to pass those tests. This approach helps ensure that the code meets the required specifications and encourages developers to write code that is testable and maintainable.
TDD follows a simple cycle of writing a failing test, writing the minimum amount of code to make the test pass, and then refactoring the code as needed to improve its quality. This cycle is repeated for each new feature or bug fix. The tests serve as living documentation of the code's behavior and make it easier to catch regressions or breakages when code changes are made.
TDD is a discipline that requires a change in mindset and a focus on quality and correctness, but can result in more robust and maintainable code and can help catch bugs early in the development process. -
typo3 (Content Management System)
What is the typo3 CMS?
TYPO3 is a German open-source content management system (CMS) for web development. It allows developers to create and manage websites, online applications, and digital content in a user-friendly environment. TYPO3 offers a range of features including a powerful templating system, version control, and multilingual support, making it a popular choice for large enterprises and government organizations.
-
Unit Tests
What is a Unit Test?
A unit test is a software testing method where individual units or components of a software application are tested in isolation from the rest of the application to validate their functionality and identify any issues. The goal is to test each unit of the application as thoroughly as possible to catch bugs early in the development process and ensure the quality of the code. -
User Experience (UX)
What is User Experience (UX)?
User Experience (UX) refers to the overall experience a person has when interacting with a product, system, or service. This includes aspects such as usability, accessibility, design, and emotions evoked while using the product. UX designers aim to create products that are both functional and enjoyable to use, taking into consideration factors such as user needs, behavior, and expectations. The goal of UX design is to create products that are easy and efficient to use, while also providing a positive and satisfying experience for the user. -
User Interface (UI)
What is meant by user interface?
The User Interface (UI) is the interface or intermediary between the computer and humans. The actions and reactions are exchanged through the screen, mouse, keyboard as well as the design of the interface. In software, user interface means the graphical user interface of an application. -
User Journey
What is a User Journey?
A user journey is the series of experiences that a person goes through when interacting with a product, service, or brand. It encompasses all of the touchpoints and interactions a user has with a company, from initial awareness and consideration to post-purchase evaluation. The user journey provides a framework for understanding the needs, goals, motivations, and behaviors of the users, and helps businesses to design and improve their products, services, and customer experiences. By mapping out the user journey, businesses can identify opportunities to enhance the user experience, increase engagement and satisfaction, and ultimately drive conversions and loyalty. -
User Story
What is a user story?
In IT or programming, user stories describe a process from the user's point of view for a better understanding of the holistic task that the team has to solve. The holistic task is called Epic and tasks within the user story are called Tasks. -
User Story Mapping
What is the User Story Mapping Methodology?
User story mapping is a product development methodology used to help teams understand and prioritize user needs in the product development process. It is a visual representation of the journey that users go through when interacting with a product, service, or brand.
A user story map is created by plotting user stories (representing user needs and goals) on a vertical timeline that represents the flow of the user's experience. User stories are grouped into higher-level sections called themes, which represent the different stages of the user journey. This allows teams to see the big picture of how all the user stories fit together and how they contribute to the overall user experience.
The goal of user story mapping is to create a shared understanding among stakeholders of what users need and what the priorities are in the product development process. By having a clear visual representation of the user journey, teams can align on goals, identify opportunities for improvement, and make informed decisions about what to build and when.
-
Version Control
What is version control or VC?
Version control, also called version management or source code management, is a system that records changes to files, especially source code files, over time. It allows users to access previous versions of files, track changes, and revert changes when necessary. Version control systems are an essential part of modern software development and are often used by teams to facilitate collaboration and manage the development process.
There are two main types of version control systems:
- Centralized Version Control (CVCS): In a centralized system, there is a central repository that contains the entire history of file changes. Users must connect to this central repository to make changes or retrieve the current status of the project. Examples of centralized version control systems include Subversion (SVN) and Perforce.
- Distributed Version Control (DVCS): In a distributed system, each user has a complete copy of the repository, including the entire history of file changes. Changes can be made locally and later synchronized with other repositories. Examples of distributed version control systems include Git and Mercurial.
- Change tracking: Version control allows you to track the history of changes to files, who made changes and when they were made
- Collaboration: it allows teams to work together on projects without interfering with each other or accidentally overwriting other people's changes
- Undo changes: If a bug occurs or a change has undesirable effects, developers can easily revert to a previous version
- Version management: Version control helps manage different versions of a project, such as development, test, and production versions
-
Virtual Reality
What is Virtual Reality?
Virtual realities are digitally created worlds that you can enter through VR glasses or a browser and interact with other people via avatars. Virtual worlds can leave no limits to human imagination and can visualize everything in the so-called Web3.0. -
vue.js programming language
What is the vue.js programming language?
Vue.js is a progressive JavaScript framework used for building user interfaces. It is often compared to other popular front-end frameworks like React and Angular, but it has its own unique features and benefits.
Vue.js is designed to be easy to learn and use, with a gentle learning curve that makes it a great choice for beginners. It also offers a lot of flexibility, allowing you to use as much or as little of the framework as you need. Vue.js can be used to build anything from small single-page applications to large-scale enterprise-level applications.
One of the main advantages of Vue.js is its reactivity system, which allows you to easily update and synchronize data between the UI and the underlying data model. Vue.js also provides a powerful templating system that makes it easy to create reusable components and manage complex UI elements.
Some other benefits of Vue.js include:
- Lightweight and fast: Vue.js has a small file size and is very fast, making it a great choice for building high-performance web applications.
- Good documentation: Vue.js has a comprehensive and well-organized documentation, which makes it easy to get started and find answers to your questions.
- Large developer community: Vue.js has a large and growing community of developers, which means that you can find a lot of resources and support if you need it.
In terms of when you should use Vue.js, it's a good choice for a wide range of web applications. However, it may be particularly well-suited for:
- Single-page applications (SPAs): Vue.js is a great choice for building SPAs, which are web applications that load a single HTML page and dynamically update the content as the user interacts with the app.
- Small to medium-sized applications: Vue.js is lightweight and easy to learn, making it a great choice for building small to medium-sized applications.
- Prototyping and rapid development: Vue.js is designed to be easy to use and fast to develop with, making it a good choice for prototyping and rapid development.
Overall, Vue.js is a powerful and flexible framework that can help you build high-quality user interfaces and web applications.
-
Web Development
What does web development mean?
The process of web development is the creation or programming of digital products such as websites, online stores or customized solutions, which are not available as open source, for example. Mostly the technical realization consists of frontend and backend development. -
webflow (Cloud-CMS)
What is webflow?
Webflow CMS (Content Management System) is a cloud-based platform that enables users to design, build, and manage dynamic websites without the need for code. It provides a visual interface for designing and laying out pages, along with tools for adding and managing content.
With Webflow CMS, users can create dynamic, database-driven websites, add custom fields to store data, and manage their content with a built-in content management system. It also includes e-commerce capabilities, allowing users to sell products and manage orders directly from their website.
Webflow CMS is designed for digital designers, marketers, and entrepreneurs who want to create professional-looking websites without the need for coding skills. It offers a balance between design flexibility and ease of use, making it an attractive option for those who want to create and manage a website without relying on a developer. -
Website Relaunch
What is a Website Relaunch?
A website relaunch refers to the process of revamping or completely redesigning an existing website. This process may involve updating the website's content, design, functionality, and technology to improve its overall user experience, performance, and engagement.
A web relaunch can be done for a variety of reasons, including to keep up with changing technology and user preferences, to improve the website's ranking in search engines, to make it more mobile-friendly, or to better align the website with the company's brand and marketing goals.
The website relaunch process typically involves several steps, including planning, design, development, testing, and deployment. It may also involve collaboration with multiple stakeholders, including designers, developers, marketers, and business owners.
A successful website relaunch requires careful planning, attention to detail, and a focus on the needs and goals of the target audience. The end result should be a website that provides an improved user experience, is easier to navigate, and helps achieve the company's business objectives. -
Wireframing
What is wireframing?
Wireframing is the process of creating a sketch-like layout or stick figure drawing with conceptually important content elements that presents the structure of pages to the team or client of a digital project in a simple way. -
Wordpress Content Management
What is WordPress?
The open source Wordpress CMS (Content Management System) is one of the most widely used website administration systems in the world, with a market penetration of about 65%. The system is known mainly for blogs and as a "fast vehicle" for creating websites based on ready-made templates without programming knowledge. Of course, it can also be programmed completely individually.