flutter 从入门到放弃----踩坑篇

官方主页:https://flutterchina.club/get-started/install/

1.系统环境集成。

工具:androidStudio3.1 ,

jdk: 1.8.1

环境:deepin(ubuntu15.6)

需要的插件flutter ,dart

看了官方的长篇大论之后开始了踩坑之路。

题外话:

    自从看了mysql从入门到删库跑路之后,本人就沉醉于java后台代码无法自拔,一时间山河变色,怎么会有如此掉渣天的语言存在。几年前塞班机子还统治帝国王朝的时候,googel骑着二哈从半路杀了出来,推翻了塞班老巢,扼杀了ios妄想一统六国,天下舍我其谁的霸权地位。尤记那年博主还是在学校嘴里啃着葱油饼,左手拿着诺基亚,右手夹着毛邓三的青葱少年。android的诞生如同圣光一样洒在了楼主的脸上,对,楼主沉迷了!那时候天下风云变色,到处哀鸿遍野,如果当时杨永信注意到了楼主,那楼主今天也不会在这吹牛B了。

  那时候的市场很乱,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基本上可以说已经确定了。

 

 

 

 

转载于:https://my.oschina.net/u/2000273/blog/1927190

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值