Topic 11/12 Flashcards
What is a library?
A library is a collection of precompiled routines that a program can use. The routines are stored in object format and are useful for storing frequently used routines because they do not need to be explicitly linked to every program that uses them.
What is a framework?
A software framework is a universal, reusable software environment that provides particular functionality as part of a larger software platform to facilitate the development of software applications. Unlike libraries, a framework defines the architecture of your application and provides a structure in which your application is built and runs.
An example of a framework is Django for building web applications in Python.
What is a toolkit?
A toolkit is a bundle of libraries and utilities geared towards specific tasks or solving specific problems. It can contain libraries, APIs, IDEs, GUI builders, etc., and aims to make it easier for developers to create applications within its specific scope.
A popular example is the Java Development Kit (JDK) for Java programming.
What is an API?
An API (Application Programming Interface) is a set of rules and protocols for building and interacting with software applications. It specifies how software components should interact and can include specifications for routines, data structures, and object classes.
For instance, to develop software that integrates with Facebook, you would use the Facebook API.
What is a GUI?
A GUI (Graphical User Interface) is a type of user interface that allows users to interact with electronic devices through graphical icons and visual indicators, rather than text-based user interfaces or typed command labels.
What is Projucer?
Projucer is a standalone graphical application that facilitates the creation and management of JUCE projects. It generates project files based on user input, allowing developers to focus on coding rather than setting up project configurations.
What types of applications can Projucer generate?
Projucer can generate different types of applications, such as OpenGL applications for 3D graphics or audio applications for DJ software. It provides options for creating plugins and graphical applications without audio components.
What does Projucer support for exporting projects?
Projucer supports exporting projects to various Integrated Development Environments (IDEs) and platforms, enabling cross-platform development.
What is the purpose of Xcode in Projucer?
Xcode is used for generating native Mac applications.
What is the purpose of Xcode iOS in Projucer?
Xcode iOS is used for building applications that run on iPhones and iPads.
What is the purpose of Visual Studio in Projucer?
Visual Studio is used for creating native Windows applications.
What is the purpose of Linux MakeFile in Projucer?
Linux MakeFile is used for building applications on Linux.
What is the purpose of Android in Projucer?
Android is used for exporting applications to run on Android devices.
How can developers enhance functionality in Projucer?
After creating an initial application, developers can add more components from the JUCE library to enhance functionality. Projucer allows for the addition of new modules at any stage of the project lifecycle.
What is an example of adding components in Projucer?
Adding GUI components or audio processing modules to an existing project to expand its capabilities.
What is the JUCE API?
The JUCE API is a collection of pre-made classes and modules that developers can use to build various types of applications. It provides a consistent and well-designed framework for developing complex software.
What does the GUI Module in JUCE API contain?
The GUI Module contains widgets like buttons and sliders for building user interfaces.
What does the Audio Module in JUCE API include?
The Audio Module includes components for playing, mixing, and controlling audio files.
What is the design philosophy of JUCE?
JUCE is designed with consistency in mind, making it easier to learn and use. Its cross-platform nature allows developers to write code once and export it to multiple platforms with minimal changes.
What is an example of cross-platform development in JUCE?
A project developed on Linux can be exported to Mac or Windows, ensuring the same code base works across different systems.