2.5 KiB
title | pagination_prev | pagination_next |
---|---|---|
iOS and Android Apps | demos/frontend/index | demos/desktop/index |
import DocCardList from '@theme/DocCardList'; import {useCurrentSidebarCategory} from '@docusaurus/theme-common';
Many mobile app frameworks mix JavaScript / CSS / HTML5 concepts with native extensions and libraries to create a hybrid development experience. Developers well-versed in web technologies can now build actual mobile applications that run on iOS and Android!
:::warning
The ecosystem has broken backwards-compatibility many times!
iOS and Android, as well as the underlying JavaScript frameworks, make breaking changes regularly. The demos were tested against emulators / real devices at some point in time. A framework or OS change can render the demos inoperable.
MacOS is required for the iOS demos. The Android demos were tested on MacOS.
:::
The "JavaScript Engines" section includes samples for JS engines used in the mobile app frameworks. SheetJS libraries have been tested in the relevant engines and should "just work" with some caveats.
Demos for common tools are included in separate pages. Each demo section will mention test dates and platform versions.
- {useCurrentSidebarCategory().items.map((item, index) => {
const listyle = (item.customProps?.icon) ? {
listStyleImage: `url("${item.customProps.icon}")`
} : {};
return (
- {item.label}{item.customProps?.summary && (" - " + item.customProps.summary)} ); })}
:::note Recommendation
React Native is extremely popular and is the recommended choice for greenfield projects that can use community modules. However, its "lean core" approach forces developers to learn iOS/Android programming or use community modules to provide basic app features.
The original Web View framework was PhoneGap/Cordova. The modern frameworks are built atop Cordova. Cordova is waning in popularity but it has a deep library of community modules to solve many problems.
Before creating a new app, it is important to identify what features the app should support and investigate community modules. If there are popular modules for features that must be included, or for teams that are comfortable with native app development, React Native is the obvious choice.
NativeScript is not recommended at this time. There are known bugs related to binary data processing. The demo only supports plaintext file formats like CSV.
:::