Welcome to “Computing Platforms and Compatibility.” After watching this video, you will be able to: Define computing platforms. Identify single- and cross-platform software. And identify cross-compatibility issues. What are computing platforms? A computing platform is the environment where the hardware, like your personal computer, and the software, like your operating system or OS, work together to run applications. Hardware refers to the type of computer or device, such as a desktop computer, a laptop, or a smart phone. Software, in this instance, refers to the type of operating system, such as Windows, macOS, iOS, Android, and Linux, and also includes the programs and applications that run on the OS. Here are three types of common computing platforms: The Desktop platform includes devices like personal computers and laptops that run operating systems like Windows, macOS, and Linux. The Web-based platform includes browsers like Firefox and Chrome that function the same in various operating systems, regardless of the hardware. The Mobile platform includes devices like the Pixel and the iPhone that run operating systems like Android OS and iOS. When planning applications, software developers must consider if they will be designing for one platform or across platforms. Depending on who the primary users of an application will be, software developers design either: Single-platform software, meaning that the programming code only works on one kind of computing platform, or Cross-platform software, meaning that the programming code will work on multiple platforms. Here are some of the differences: Single-platform software is written for a particular OS or version of OS. It may also be written in a programming language, like Java or Objective-C, which is specific to the platform. Additionally, single-platform software is designed to run only in the target OS, and most likely won’t run as intended on other platforms. Some developers use applications like Xcode for iOS and Android Studio for Android to code single-platform software. However, cross-platform software is different from single-platform in several ways: It is written for more than one type of OS. Applications across devices and operating systems operate the same or similarly, regardless of the computing platform. Performance of the software varies due to platform differences. And some developers use applications like React Native and Xamarin for cross-platform software development. Before creating a single-platform or cross-platform application, developers must weigh the pros and cons. Let’s look at some single-platform pros first. An advantage of single-platform software is that the software has a smaller, more focused app user base,. Single-platform applications have better performance and faster speeds because they are running on their native platform. Also, the programs are normally easier to use because the user interface is designed for one specific OS. However, there are also some cons. With single-platform software, there is a higher cost of development because the application must be made specifically for one OS. Single-platform software also has a longer development time since the code must be uniquely written for the platform. Additionally, more specialized programming expertise is needed, which means higher costs for the software development. And updates and maintenance are higher due to the unique programming knowledge needed. Now let’s look at cross-platform software. Some pros are: Lower cost of software development, which can happen over a shorter time. Another advantage is a wider app user base and market reach because the app is available on more devices. Additionally, programming expertise is more generalized because developers do not need to learn specialized operating systems and they are able to use the same coding. Also, updates and maintenance are more readily available and affordable. Cons include the following: Cross-platform applications have design challenges for making the software function similarly and correctly in different operating systems. Performance and speed may vary due to differences in platforms. And the user interface may also vary and be less reliable across platforms. So these are only a few of the key factors that developers should weigh when deciding what is the best for their software and their user-base. When considering cross-platform software, it’s important to realize that there are some compatibility concerns. Be aware that cross-platform software acts differently, depending on the platform, and may even have limited usability. It’s important to remember that cross-platform software is created by different developers most of the time. This means that programs may interpret the code differently in each application. Functionality and results can differ between platforms. Sometimes these differences can mean undesired results and errors. Other times, it can just mean a difference in appearance or how the software is accessed. This could happen as follows: When a document is created in Microsoft Word on a desktop PC, then the document is edited in Google Docs through a web browser, and then it is opened on a mobile device. As the document goes through this process, several different applications are being used. This results in a change in appearance in the document and sometimes a change in how the document is used. In this video, you learned that: Single-platform software is developed for one particular operating system. Single-platform programs are more focused on the user base, are faster, and have a better user interface. However, single-platform programs are also more expensive and take longer to develop, require more specialized programming expertise, and need more ongoing maintenance. Cross-platform software is developed to be used across different platforms, and it should function the same or similarly on different platforms. Cross-platform programs are less expensive to develop, have a wider user base, require more generalized programming knowledge, and have more readily available updates. However, cross-platform programs also have more design challenges, have varying performance and speeds, and sometimes have user-interface issues across platforms. And compatibility concerns arise when a software does not function similarly or correctly across platforms and when the same options and commands are not available across platforms.