关于flutter:开源项目FLutteriOSAndroid编写的三个计算器APP

58次阅读

共计 3411 个字符,预计需要花费 9 分钟才能阅读完成。

前端工夫应用 Flutter,iOS,Android 三种技术编写了三个雷同性能的计算器 APP,github 地址。

ios_calculator

1. 我的项目简介

应用 Swift 编写的 IOS APP,实现了计算器的常见性能。

2. 环境简介

语言:Swift 5.4

UI 框架:UIKit

包管理工具:CocoaPods

布局框架:SnapKit 5.0.0

3. 我的项目截图

<img src=”https://img-blog.csdnimg.cn/img_convert/d9cf4a90e8f9e659fa7cf93ea5e01626.png” style=”zoom: 50%;” />

4. 开发流程与代码逻辑简述

  • 关上 Xcode 创立 IOS APP 我的项目。
  • 引入包管理工具和框架。
  • 编写布局类,继承 UIView。编写 Button 组件,继承 UIButton。
  • 封装计算逻辑工具类。
  • 在 ViewController 中引入布局文件,通过布局类中的按钮点击协定实现计算器的计算逻辑。

5. 技术筹备

  • Swift 根底语法
  • UIKit 应用
  • SnapKit 应用
  • CocoaPods 应用

    sudo gem install cocoapods
    pod init
    pod install

    M1 mac 装置有问题

  • Swift 中的协定

6. 总结

学习 IOS 开发也有一段时间了,学习路径包含哔哩哔哩视频教程,YouTube 视频教程,Apple 官网文档,浏览相干书籍。因为领有 Flutter 和 Android 的开发教训,学习过程中没有什么大的妨碍,惟一感觉不好的一点是中文社区的匮乏,面向初学者的文章和书籍都比拟少,随着 IOS 相干技术的破坏性更新,导致很多教程不实用,耽搁了不少工夫。编写 UI 有拖拽 storyboard 和纯代码两种形式,集体还是比拟喜爱纯代码的形式。开发语言有 Swift,objective-c,UI 框架有 UIkit 和 SwiftUI,抉择了材料比拟多的 SWift 和 UIkit 学习,技术抉择的多样性在最后也造成了一些困惑,因为精力有限,不可能全都学。后续应用 IOS 技术写一些简单点的 APP,晋升技术水平。

android_calculator

1. 我的项目简介

应用 java 编写的 Android APP,实现了计算器的常见性能。

2. 环境简介

语言:java 1.8

依赖库:详见 android_calculator/app/build.gradle 下的 dependencies

3. 我的项目截图

<img src=”https://img-blog.csdnimg.cn/030dc2799f8b4d9cb0bc7d985ddc01bd.png” style=”zoom: 67%;” />

4. 开发流程与代码逻辑简述

  • 编写布局 xml,应用 constraintlayout 布局
  • activity中注册控件,监听点击事件
  • 点击 = 号时执行计算逻辑

5. 技术筹备

  • java 根底语法
  • 安卓开发官网
  • constraintlayout布局

6. 总结

三种技术写一个我的项目,感觉给本人挖了一大坑,本意是相熟一下学习过的技术,可能最近工作和学习的状态都有所下滑,感觉没有什么能源了。

写之前看了一下其余的开源我的项目,参考了一下布局,学习了 constraintlayout 布局,其实原本想用 jetpack 试一下,不过本人 kotlin 还没学,而且学到太多也有点记不住,就放弃了。

可能须要歇一歇再持续。

flutter_calculator

1. 我的项目简介

应用 dart 编写的 Flutter APP,实现了计算器的常见性能。

2. 环境简介

语言:Dart 2.14

框架版本:Flutter stable, 2.0.6

3. 我的项目截图

<img src=”https://img-blog.csdnimg.cn/a018be470fdd4144ab85897ccfb0bc4c.png” style=”zoom: 67%;” />

4. 开发流程与代码逻辑简述

  • Gridview 和 Expanded 实现布局

5. 技术筹备

  • Dart 语法
  • FLutter 根底

6. 总结

编程其实是一种思维的表白伎俩,某一天我突发奇想,想做一个什么样的 APP,基于这个想法就有了客户端的页面,也是基于这个想法有了后端的业务。编程只不过是实现这个想法的工具,编程和程序员,就像文字和作家,画笔和画家之间的关系,重要的不是实现想法的伎俩,重要的是心,一个充斥了想法的心灵才是最贵重的。作家什么都不想写,文字对他有什么用呢,画家什么都不想画,画笔又有什么用呢,这样能力精确的了解编程的作用,如果没有一个扭转世界的想法,google 搜寻和苹果手机也都不会呈现了,拉里佩奇或乔布斯代码写的多好都没用。由此可见,互联网行业大部分的行业都是为了想法在服务,不论是产品,经营,UI,都是为了让想法变成事实,什么时候本人能成为不再为他人的想法服务的人,而是提出想法呢?有点跑题了。

android/iOS/flutter 三种技术写同一种 APP 本意是为了相熟一下近来学习的 android 和 iOS,flutter 算是添头,写一下玩一玩。不过通过这次我的项目的编写,让我感觉其实很多的技术都是在做相似的事件,变动的只不过是 API。用 Icon,用 RN,用 FLutter,用 Android,用 IOS 都能够写出 APP 来,成为大前端,也就是把握多种能够做同一个事件的技术,会一种和会多种只不过是谁记住了更多的 API。

最近在做一个挪动端即时通讯的需要,读了一些技术博客,这些博客不是为了 Flutter 而写,他讲述的是客户端和服务器端整个的解决即时通讯的流程,客户端开启连贯,心跳检测,创立本地数据库,服务端接管到音讯再转发到客户端,等等。这让我感觉在业务开发上重要的其实不是语言或者技术,而是这种整体的,解决问题的思路,思路才是灵魂,语言和框架只不过是实现这种思路的工具。

工作曾经两年了,感觉本人就是个 API boy,把握了很多的 API,前端,客户端,服务端都写过,学过的语言都有七种了,以至于当初不是工作用到的技术,很多细节都想不起来了。可是这些 API 有多少是能够迁徙的呢,过了几年有了新的语言,新的框架,所谓的编程教训也跟着清零。基于这种思考,让我想到去学习计算机根底,学一学经久不衰的计算机科学,不能满足于学习 API。从技术投资的角度来讲,必定是心愿本人学习的技术永远不过时,当初来看只有计算机科学有这样的个性,筹备学一学试一试。当我意识到我可能会从事十几年的计算机行业后,我感觉不能再为了面试而学习了,应该学一些真正的能够贯通整个职业生涯的常识。

从资本的角度登程,不论跨平台写进去的 APP 有多烂,跨平台还是进步了员工生产力。从我本人的角度登程,我感觉跨平台也是一种很好的技术计划,原本都是做的相似的事件,何必要用那么多种语言,那么多种框架,当 Flutter web 正式版出了之后,我就放弃了 JS 技术栈的学习,学习多种技术做同一种货色在我看来毫无意义。即便 FLutter 不是终极计划,我感觉跨端是不会隐没的,只有还有各种各样的端存在,跨端技术就会存在。

我感觉一名好的跨端工程师不只是把握跨端技术,可能写端上的利用,也应该相熟端的个性,可能解决对应端的特定问题。本人将来一年里,除去基础知识的学习外,也会朝着这个指标后退。将来的一年内,也会寻找机会为开源社区做出奉献。技术在我这里分两种,一种是应该学的技术,所谓应该学的技术就是市场须要什么样的技术人才,对应的就是就是应该学的技术。另一种是感兴趣的技术,感兴趣的技术就全凭本人的情意,想学点什么就学点什么。

这两年来多半是在学应该学的技术,很多想做的事件,感兴趣的技术都被排在前面了,当初想一想如果当初不是对 Flutter 产生了趣味,本人也不会在这两年里获得这么大的提高。其实做正确的事件我只是全凭意志力在保持,而做感兴趣的货色会让我感到高兴和兴奋,生存曾经够艰巨了,还是应该让本人高兴一些,接下来一两年的工夫里,我决定多学习一些本人感兴趣的常识,做本人真正想做的事件。做正确的事件,获得世俗意义上的胜利,对本人来说毫无意义。做本人想做的事件,成为本人想成为的人,才是最有意义的事件。人生还长着呢,如果这一两年发现做本人感兴趣的货色齐全行不通,到时候再调整方向也来得及。

我尽管心愿一年后的本人胜利,但我更心愿一年后的本人高兴。人生一辈子都谋求正确,尽管能有一个好的后果,然而也会错过一些其余的风光,我决定去看看这些风光。

“我反对你,加油!”

正文完
 0