前端时间使用iOS技术编写了一个记事本APP,github地址,https://github.com/ThinkerJack/android-ios-flutter_notepad。

ios_notepad

1.项目简介

使用Swift编写的IOS APP,除了常规记事本的增删改查功能之外,加入了分组功能。

2.环境简介

语言:Swift 5.4

UI框架:UIKit

包管理工具:CocoaPods

布局框架:SnapKit 5.0.0

本地数据库管理库:GRDB.swift

3.项目截图

4.代码逻辑简述

新建数据库管理类,编写创建数据库,创建分组数据表,在分组数据表进行增删的方法。

新建首页布局文件,数据为外部传入,使用协议将点击事件传递给调用者。在ViewController中调用数据库管理类,进行数据库和数据表的初始化,当点击事件发生时调用数据库管理类中的数据操作方法。

其余页面的逻辑与上述步骤一致。

5.技术准备

  • Swift基础语法

  • UIKit使用

  • SnapKit使用

  • CocoaPods使用

    sudo gem install cocoapods
    pod init
    pod install

    M1 mac安装有问题

  • Swift中的协议

  • Swift中的闭包

  • CRDB使用

6.总结

编写这个APP就是想巩固一下自己最近学习的IOS开发相关知识,此APP参考了一本有些过时的IOS书籍,虽然书上的很多API和现在已经大不相同,不过随着工作经验的增长,自己也成长为一个有些经验的端开发工程师,从最开始用JQuery,bootstrap写网页,到后面使用Angular,然后接触到Flutter,到现在自学的Android和IOS,对端开发一些常见的步骤都有了自己的认识,比如路由管理,页面布局,工程架构(mvc,mvp,mvvm),这个APP就是通过协议将View层中的逻辑部分暴露出来,逻辑全部交给controller处理,实现页面和逻辑的分层,网络请求,还有web一般不会用到但客户端很常用的本地存储,本地数据库等等。虽说不同的端具体的API上可能有变化,不过大体的思路都一致,凭借着这种思路和搜索引擎,还有看文档的习惯,还是把这个APP完整的做出来了。

正式参加工作已经两年了,从准备成为一名程序员到现在已经三年多了。从事编程工作以来,最让我感到庆幸的是编程绝不是一项无聊的工作,计算机世界的浩瀚,让普通人穷尽一生也只在一个细分的方向上探索到计算机科学的边界。我喜欢这份工作,因为他能让我的大脑不停的工作,让我总是能思考。虽然自己对编程谈不上多么的狂热,但是在工作和学习中还是能获得一些乐趣,这份乐趣也就成了自己不断学习的动力。

这两年换了两次工作,当一份工作和自己的目标发生冲突的时候,我就会重新找一份满足自己要求的,我发现自己很讨厌稳定,当一份工作没有挑战,成为机械式的重复之后,就会对这份工作丧失全部的热情和兴趣,失去兴趣之后真是一天也不想在做了,只想尽快逃离。想起面试的时候HR问我你觉得你的稳定性怎么样,现在想来,是工作能多大程度激发我的兴趣决定了我的稳定性。想想自己二十多年来,在学生时代一直都没能有什么成就,比较直观的就是没考一个好点的大学,现在想想自己对学校各个科目的兴趣总是很短暂,失去兴趣之后也就随便学学就行了。唯一感兴趣的是文学,可惜自己学的还是理科。

从事这份工作以来总是让我感到理想和现实的分裂,总是觉得工作没有和人生的终极目标发生联系很可惜。世界上哪有完美的事情呢,就算能从事理想中的工作,能不能满足基本的生存需要都是未知数,当我意识到无产阶级就是需要出卖自己的劳动力来换取生存条件的时候,我渐渐的可以接受这种分裂了。原来自己总想着三十岁就退休,逐渐了解实际情况后才发现劳动可能是一辈子的事情。劳动是光荣又伟大的,只是我有那么点不喜欢。

两年很快就过去了,虽然没有做到完美,现在想来这两年的时间我并没有荒废,虽然我不曾在两年之前订下过什么目标,但我觉得我对现在的自己还是比较满意的。其实一名程序员的成功标准是很难衡量的,工资高低?职位高低?技术水平?对开源社区的贡献?对计算机科学的贡献?每个人都有自己不同的答案,能做到让自己满意就极为难得了。

人生总是在追逐,在职业生涯上更是如此,有的时候对世俗意义上的成功不屑一顾,但大部分的时候还是朝着世俗意义上的成功努力,仿佛是在跟谁较劲,拼了命的证明自己,跟谁较劲呢?证明自己给谁看呢?这些问题或许都没有答案,但也是这些问题给了我不断前进的动力。

站在此刻,向着未来的人生望去,前面什么也看不到,未来唯一可以确定的就是他的不确定性,不过我还是希望我以后的工作内容是真正的为社会做贡献,帮助世界变的更好,最好能为祖国迈向共产主义贡献一份力量。期望毕竟是期望,如果没有那么一个美妙的机会让我达成这些目标,那我就想身体健康的多挣点钱。一份工作能不破坏我的健康,能让我有尊严的活着,能让我在工作之外的时间可以做自己想做的事情,幸甚至哉。

写在末尾

Android 和 Flutter 端的工程不打算写了,做同一种事情的工具掌握三种并没有什么意义,软件开发核心还是基础和流程,拒绝做API boy。

开源项目—swift开发记事本APP相关推荐

  1. 开源项目—FLutter开发录音APP

    Flutter录音APP 一个录音小工具,github地址,https://github.com/ThinkerJack/flutter_record. 1.语言环境 Flutter SDK : st ...

  2. java的开源项目哪里找,我想参加开源项目的开发,请问在网上去哪找这样的项目? 纯C语言的(非C++或JAVA)...

    我想参加开源项目的开发,请问在网上去哪找这样的项目? 纯C语言的(非C++或JAVA)以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起 ...

  3. 推荐 12 个好用的 React 的开源项目,开发效率又能提升了!

    大家好,我是你们的 猫哥,那个不喜欢吃鱼.又不喜欢喵 的超级猫又在线营业啦 ~ 平时如何发现好的开源项目,可以看看这篇文章:GitHub 上能挖矿的神仙技巧 - 如何发现优秀开源项目 1. react ...

  4. 开源项目SMSS开发指南(二)——基于libevent的线程池

    libevent是一套轻量级的网络库,基于事件驱动开发.能够实现多线程的多路复用和注册事件响应.本文将介绍libevent的基本功能以及如何利用libevent开发一个线程池. 一. 使用指南 监听服 ...

  5. 完整开源项目之诗词吧 APP

    早上好,骚年,我是小菜,我的公众号「菜鸟翻身」会推荐 GitHub 上有用有趣的项目,一分钟 get 一个优秀的开源项目,挖掘开源的价值. 我的引语 明天就要上班了,这个假期你过的怎么样啊,有没有出去 ...

  6. 我的MVVM开源项目《出行防疫App》已发布

    前言 大约在两年前,我发布了一个MVVM的开源小项目,我的MVVM 开源小项目已发布~ 从现在角度来看这只是一个小Demo,所以后来写了这个开源项目--出行防疫App 项目简介 出行防疫App是一款M ...

  7. 35款优秀的 SpringBoot/SpringCloud 开源项目,开发脚手架,总有一款适合你...

    简介 SpringBoot 是一个非常流行的 Java 框架,它可以帮助开发者快速构建应用程序.他不仅继承了 Spring 框架原有的优秀特性,而且还通过简化配置来进一步简化了 Spring 应用的整 ...

  8. 推荐 10 个实用型的热门开源项目,开发效率又能提升了!

    大家好,我是你们的 猫哥,那个不喜欢吃鱼.又不喜欢喵 的超级猫 ~ 平时如何发现好的开源项目,可以看看这篇文章:GitHub 上能挖矿的神仙技巧 - 如何发现优秀开源项目 1. react-typic ...

  9. 推荐 10 个好用的 Vue3 的开源项目,开发效率又能提升了!

    大家好,我是你们的 猫哥,那个不喜欢吃鱼.又不喜欢喵 的超级猫又在线营业啦. 平时如何发现好的开源项目,可以看看这篇文章:GitHub 上能挖矿的神仙技巧 - 如何发现优秀开源项目 如果不想错过精彩内 ...

  10. 小程序影藏溢出的gif_分享几个优质开源项目 | 电商类app,趣享 gif,研发助手DoraemonKit,github小程序...

    本来想一个个分享,这样标题比较好起,不过感觉有点少,那就不定期攒一些分享吧.其中部分来源投稿,有些是我自己无意发现的. 1非常方便的 github 小程序员 经常想在手机上看一些最新的github项目 ...

最新文章

  1. python代码块使用缩进表示-Python 为什么抛弃累赘的花括号,使用缩进来划分代码块?...
  2. pepflashplayer32_25_0_0_127.dll: 0x59952C6D is not a valid instance ID.
  3. 51nod1244 欧拉函数之和 杜教筛
  4. 二、uniapp项目(分段器的使用、scroll-view、视频下载、转发)
  5. 头文件 ctype.h 以及函数 isalpha() tolower()
  6. maven jar包下载
  7. VBF BETA 1.5 发布了
  8. 深度学习 --- 优化入门三(梯度消失和激活函数ReLU)
  9. Python的psutil模块监控内存代码
  10. 炫酷而不复杂,RDP报表实用又方便
  11. python ddos_python 检查是否存在ddos攻击
  12. wps表格的宏被禁用问题
  13. xp计算机不记得开机密码,xp系统电脑开机密码忘记了的办法介绍
  14. 模拟退火(SA)算法实例介绍(JAVA)
  15. usereduce reducer使用
  16. 日语N2听力常用词汇
  17. OSPF—DR与BDR知识点及选举
  18. Using 1.7 requires compiling with Android 4.4 (KitKat); currently using API 10
  19. 小红书竞品分析_小红书与网易考拉海购竞品分析报告
  20. GlyphRun 对象和 Glyphs 元素简介

热门文章

  1. 分享43个职场必备excel函数!(内含详细案例解析及教程参考)
  2. Java小知识:多张图片合并成一张
  3. 如何解决安装或者卸载时 临时文件夹已满或不能访问
  4. 【附源码】Python计算机毕业设计食疗养生服务平台
  5. 职中选什么专业好_职中选什么专业最有前途
  6. 中国长白山国际林海雪地马拉松节将于三月底举办
  7. coffeescript基本语法
  8. C# 之 ZipOutPutStream 压缩文件
  9. smartbi连接mysql数据库_Smartbi_V9配置MySQL8作为知识库
  10. 是时候拥抱ViewBinding了~