从单个React Native代码库实现不同的Android/iOS UI约定?

问题描述:

这甚至可能吗?我发现的React Native的每个概述/分析都涵盖了使用RN的基本原因,既可以是旧的(不是Android或“刚刚发布的Android”),也可以专注于编译为本地元素的事实(即不是HTML5)从单个React Native代码库实现不同的Android/iOS UI约定?

我所缺少的是,如何在React Native中构建的应用程序如何满足每个平台上的应用程序应该如何运行的样式指南,约定和用户期望?我不想制作看起来像iOS应用的Android应用,反之亦然。

正如@jevakallio所回答的,您可以自定义您的用户界面到Google或Apple平台特定的规则。技术上它可以通过几种方式完成。如果差异很小,你可以让有条件的检查与Platform模块:

if (Platform.OS === 'ios') { 
    ... 
} else { 
    ... 
} 

如果差异很大,然后使用文件后缀(androidios):

MyComponent.ios.js 
MyComponent.android.js 

https://facebook.github.io/react-native/docs/platform-specific-code.html

您甚至可以针对每种平台或设备类型(平板电脑或手机)的完全不同的用户界面可以保存所有非UI逻辑的常用功能

平台特定风格和交互指南的开发资源是Material Design system for AndroidHuman Interface Guidelines for iOS

在React Native上实现iOS感觉UX非常简单。使用react-native-material-design包可获得本机感觉控件,Android应用可能会受益。

Web开发人员通过React Native(我是其中一员)来开发移动应用程序时面临的最大挑战之一是要知道的原生感觉是。这是一个非常主观和敏感的话题,不能通过阅读指南或应用逻辑工程思维来解决问题。

我发现使用大量流行的应用程序并尝试推理是什么让它们变为一种非常宝贵的做法,正如批评性地评估你自己的工作并把时间和注意力放在细节上一样,所有的区别。

+0

谢谢。正在寻找确认/如何实际执行这些差异,假设我的设计师知道他们应该是什么。 –