热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【Weex一瞥笔记】一、环境搭建及HelloWorld

对ionic比较熟悉了,开始围观下其它框架,以比较下各自的优缺点,这次先来的是Weex。环境搭建参考Weex官网使用即可:安装node,使用Homebrew进行安装brewinst

对ionic比较熟悉了,开始围观下其它框架,以比较下各自的优缺点,这次先来的是Weex。

环境搭建

参考Weex官网使用即可:

  • 安装node,使用 Homebrew 进行安装

brew install node

  • 安装[Weex CLI(weex-toolkit)]
    (https://github.com/weexteam/weex-toolkit)

sudo npm install -g weex-toolkit

如果提示.xtoolkit的权限问题,则执行下述命令后再次安装:

mkdir ~/.xtoolkit&&chmod 777 ~/.xtoolkit

安装结束后你可以直接使用 weex 命令验证是否安装成功,它会显示 weex 命令行工具各参数:

《【Weex一瞥笔记】一、环境搭建及HelloWorld》 weex命令行

环境就这样搭建起来了,看上去还是挺简单的。其中initcreate命令需要注意一下,常规混合式应用使用create创建weexpack项目。当然weexpack项目也可以如下直接装weexpack的CLI,通过该CLI构建及维护项目,只是weex-toolkit已经集成weexpack了,所以也不是必要。

sudo npm install -g weexpack

创建HelloWorld项目

weex create helloWorld && cd helloWorld

npm install

1. 网页测试

运行命令即可:

weex run web

或者npm命令运行:

npm run serve

2. 添加android平台

weex platform add android

一直等待下载安装完成,就会发现platform目录下多了个android的项目目录,然后执行:

weex run android

然后可能会报如下错误:

最终显示为:
“BUILD SUCCESSFUL
Total time: 10.355 secs
=> Install app …
adb: failed to stat app/build/outputs/apk/playground.apk: No such file or direct
ory”

我们打开platform/android下的app/build/outputs/apk/,发现文件名为weex-app.apk,而不是playground.apk,所以找不到。怎么回事?

我们尝试vscode打开~/.xtoolkit目录,以关键字playground.apk搜索其下的node_modules文件夹,搜索结果如图:

《【Weex一瞥笔记】一、环境搭建及HelloWorld》 image.png

What?观察发现,都是在weexpack里面的,而且居然写死了名字!也就是说修改配置文件,这里都不会动态变化,同时用Android Studio打开,包名也是固定死是:com.weex.app

我猜这是weexpack的bug吧?应该不会一直存在。根据这个猜测,就临时性的把playground.apk全部替换为weex-app.apk

然后再次执行:

weex run android

会提示没有发现android设备:

Error: No android devices found.

插入android手机或者启动AVD,并再次执行命令,此时应用顺利运行:

《【Weex一瞥笔记】一、环境搭建及HelloWorld》 image.png

当然也可以用Android Studio来打开运行也是可以的。

简单比较

1. 目录结构

首先比较下weex和ionic的目录,两者还是有点像的,只是weex把ionic隐藏在node_modules里面的wabpack配置开放出来了,这样配置起来就灵活了一些。

weexionic
《【Weex一瞥笔记】一、环境搭建及HelloWorld》 weex 《【Weex一瞥笔记】一、环境搭建及HelloWorld》 ionic

2. UI

weex好像自身不带UI框架,但是可以很简单地集成weex-ui,而ionic自带UI,两者打个平手吧。此外weex基于vue2+,ionic基于angular2+,都是比较热门的框架,所以组件这方面两者都不用愁。

3. 页面展示

weex有单页和多页面方式,直观就是一个webview显示所有页面,另一个是多个webview各显示一个页面,而ionic只有单webview显示,所以从某种情况来说,多webview时,weex页面切换应该比ionic流畅。

4. 原生支持

可能刚接触不深,weex不建议但可以支持cordova,而且可以较方便集成原生第三方插件。反之,ionic只能支持cordova。只不过若都以cordova方式来开发的话,weex自身html方面的优化应该没有ionic那么好。

因为如其名,匆忙一瞥,对weex了解不深,可能有写错的,欢迎指正。时间不早了,暂时写到这里,到时再补充吧。


推荐阅读
  • 大家好,我是李白。本文将分享一个从零开始的全栈项目,涵盖了设计、前端、后端和服务端的全面学习过程。通过这个项目,我希望能够帮助初学者更好地理解和掌握全栈开发的技术栈。 ... [详细]
  • 在开发过程中,我最初也依赖于功能全面但操作繁琐的集成开发环境(IDE),如Borland Delphi 和 Microsoft Visual Studio。然而,随着对高效开发的追求,我逐渐转向了更加轻量级和灵活的工具组合。通过 CLIfe,我构建了一个高度定制化的开发环境,不仅提高了代码编写效率,还简化了项目管理流程。这一配置结合了多种强大的命令行工具和插件,使我在日常开发中能够更加得心应手。 ... [详细]
  • 用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS
    HTTP协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的HTTP的网站是不 ... [详细]
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • 本文将详细介绍如何注册码云账号、配置SSH公钥、安装必要的开发工具,并逐步讲解如何下载、编译 HarmonyOS 2.0 源码。通过本文,您将能够顺利完成 HarmonyOS 2.0 的环境搭建和源码编译。 ... [详细]
  • 单元测试:使用mocha和should.js搭建nodejs的单元测试
    2019独角兽企业重金招聘Python工程师标准BDD测试利器:mochashould.js众所周知对于任何一个项目来说,做好单元测试都是必不可少 ... [详细]
  • 秒建一个后台管理系统?用这5个开源免费的Java项目就够了
    秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 在 openSUSE Tumbleweed 系统上搭建 51 单片机开发环境并进行编程实践。首先,通过 `sudo zypper in emacs` 命令安装文本编辑器 Emacs。接着,使用 `sudo zypper in sdcc` 安装 SDCC 编译器。最后,利用 `wget` 下载 sdcflash Python 脚本,以便于单片机的烧录和调试。此外,还介绍了如何配置开发环境,确保各组件协同工作,提高开发效率。 ... [详细]
  • 本文将介绍如何在混合开发(Hybrid)应用中实现Native与HTML5的交互,包括基本概念、学习目标以及具体的实现步骤。 ... [详细]
  • 解决Only fullscreen opaque activities can request orientation错误的方法
    本文介绍了在使用PictureSelectorLight第三方框架时遇到的Only fullscreen opaque activities can request orientation错误,并提供了一种有效的解决方案。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • Visual Studio Code (VSCode) 是一款功能强大的源代码编辑器,支持多种编程语言,具备丰富的扩展生态。本文将详细介绍如何在 macOS 上安装、配置并使用 VSCode。 ... [详细]
  • 最详尽的4K技术科普
    什么是4K?4K是一个分辨率的范畴,即40962160的像素分辨率,一般用于专业设备居多,目前家庭用的设备,如 ... [详细]
  • 利用ZFS和Gluster实现分布式存储系统的高效迁移与应用
    本文探讨了在Ubuntu 18.04系统中利用ZFS和Gluster文件系统实现分布式存储系统的高效迁移与应用。通过详细的技术分析和实践案例,展示了这两种文件系统在数据迁移、高可用性和性能优化方面的优势,为分布式存储系统的部署和管理提供了宝贵的参考。 ... [详细]
author-avatar
混事珊远_692
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有