官方主页:https://flutterchina.club/get-started/install/前端
1.系统环境集成。java
工具:androidStudio3.1 ,node
jdk: 1.8.1mysql
环境:deepin(ubuntu15.6)react
须要的插件flutter ,dartlinux
看了官方的长篇大论以后开始了踩坑之路。android
题外话:ios
自从看了mysql从入门到删库跑路以后,本人就沉醉于java后台代码没法自拔,一时间山河变色,怎么会有如此掉渣天的语言存在。几年前塞班机子还统治帝国王朝的时候,googel骑着二哈从半路杀了出来,推翻了塞班老巢,扼杀了ios妄想一统六国,天下舍我其谁的霸权地位。尤记那年博主仍是在学校嘴里啃着葱油饼,左手拿着诺基亚,右手夹着毛邓三的青葱少年。android的诞生如同圣光同样洒在了楼主的脸上,对,楼主沉迷了!那时候天下风云变色,处处哀鸿遍野,若是当时杨永信注意到了楼主,那楼主今天也不会在这吹牛B了。git
那时候的市场很乱,android 大多数都是原来塞班那批人转过来的,互联网乱草丛生。生在三线城市的我算是一种悲哀也是一种庆幸。悲哀的是好多公司都是小区房,没有一家像样的互联网公司。庆幸的是那时候没多少互联网从业者,老板主要面试也是看你的做品。当时的互联网哪查获得那么多东西,彻底靠本身硬撸,没有后台配合你写代码。当时的博主处于无奈,android里本身写sql,本身写jdbc连远程数据库。一套代码写下来基本先后端一我的干了,全写在android代码里。程序员
这些都是题外话,博主从androud里本身写sql到react native如今的weex,flutter。虽然如今写后台去了,可是android始终是我心里的一道坎,过不去的坎,往往新东西出来以后一定会去尝试。
// 正文从这里开始----------------------------------------------------------------------------------------------------------------------------------------------------------------
1.flutter的安装。
首先若是你是windows那么很庆幸,你只须要去官网下个zip下来丢到文件夹下面配置系统变量就好了。若是你和我同样有情怀的程序员,好比的系统深度开发的 deepin。那么必定要去下linux的,千万别走git。不知道是网络差仍是别的缘由整整clone了一个多小时没clone下来。而后索性本身去官网down了一个下来:连接页面:https://flutter.io/setup-linux/ 目前在写这篇文章的时候版本号为: flutter_linux_v0.5.1-beta.tar.xz 至于其余的解压等等一系列以及配环境的相关方法请移步中文官网。
2.驱动的发现。
我是采用真机进行调试,没有使用虚拟机。若是你使用虚拟机驱动的模拟器如 Genymotion 之类,安装Genymotion 可能会出错 ,大概意思就是你的cpu不支持xx之类的,这个得去bios里面设置 有个vitual的选项在cpu里面设置成启用就好了,老鸟就不用关注这个了。
若是通常的java工程只要把手机插入以后就会显示在可调试选项里面,可是flutter有所不一样,须要你手动输入命令来发现驱动。下图是一个手机已经插入了可是没有被发现驱动的图,这时你须要在最下面的terminal里面输入 flutter devices 此命令须要你配置了path,也就是flutter的path。
正常发现驱动的命令以下:
这时候就能点右上角的run或者dbug进行调试了,要注意的就是第一次若是是网太差基本上是要卡个半小时才会执行。
3.死锁
不知道称呼这个对不对,在个人理解里面flutter执行的时候是单线程执行,前面一个命令未执行完flutter默认锁住。
flutter默认执行一个命令没被执行玩的时候会在控台答应出一句话:Waiting for another flutter command to release the startup lock.
解决方法大概如此:进入/media/reasahi/tools/flutter/bin/cache 也就是你安装flutter的文件目录下 有个文件叫作lockfile 删除后就不会提示这个了,可是感受治标不治本。
4.支付
现在的flutter还须要很大的空间去完善,第三方的jar引用,还有一些jar的os库目前引用起来不是那么方便,包括支付回调的service 等等一系列的东西还有些欠缺,官方给的文档又太少,目前我在研究支付的时候暂时没找到解决方案,要同时兼容ios和android,若是只是单纯的兼容android 那直接写目录下面的 android便可,http库目前有个dio ,不少功能不太完善,起码开发起来的效率得x2,期待goolge之后提供更好的库支持及生态圈 。
5.结束语
goolge毕竟是个大厂,对于此框架而言我更感受goolge是在推广dart语言,其实语法相似于java 但比java简单。kotlin一样也出自与同一家公司。写法上毕竟是小众,除非像ios同样 oc一桶天下swift 做为辅助受众面可能要广一些。总的来讲,小公司技术栈很窄的不建议使用,好多错误基本上查询不到,语法高亮,提示作的也不是很完善,相似的库又比较少,flutter还有很长的路要走,可是前方的路很差走,还请将军少饮酒!
至于react native 总体不作过多评价,前端这几年框架变化太快,还处在于一个优胜略汰的阶段,可是node基本上能够说已经肯定了。