混合开发框架对比

使用原生 UI:
ReactNative
JSX
代码示例:helloworld
import React, { Component } from 'react';
import { Text, View } from 'react-native';

export default class HelloWorldApp extends Component {
render() {
return (
<View style={{ flex: 1, justifyContent: "center", alignItems: "center" }}>
<Text>Hello, world!</Text>
</View>
);
}
}

weex
vue
代码示例:
<template>
<div style="justify-content:center">
<text class="freestyle">helloworld</text>
</div>
</template>

<style scoped>
.freestyle {
color: #41B883;
font-size: 233px;
text-align: center;
}
</style>

使用自绘 UI:
flutter
dart
import 'package:flutter/material.dart';

void main() => runApp(new MyApp());

class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new MaterialApp(
title: 'Welcome to Flutter',
home: new Scaffold(
appBar: new AppBar(
title: new Text('Welcome to Flutter'),
),
body: new Center(
child: new Text('Hello World'),
),
),
);
}
}

uni-app
vue
<template>
<view :class="[activeClass]" :style="[baseStyles,overridingStyles]"></view>
</template>
<script>
export default {
data() {
return {
activeClass: {
'active': true,
'text-danger': false
},
baseStyles: {
color: 'green',
fontSize: '30px'
},
overridingStyles: {
'font-weight': 'bold'
}
}
}
}
</script>

纯h5:
react/angular/vue

对比

推荐阅读更多精彩内容