- 博客(30)
- 资源 (6)
- 收藏
- 关注
原创 如何用小程序开发app
背景都知道小程序的体验要比app里面直接嵌入h5的体验要好,都知道小程序其实也是运行在app上的。那么我们为什么不能用小程序来开发app呢?这样不仅可以小程序和app只要开发一次,小程序和app都有了。还可以实现app动态更新不需要提交应用市场审核,我们只要做个小程序载体的app壳(类微信端小程序 sdk),而且体验效果也接近原生。做一个类似小程序平台把我们现在的app项目框架从组件化改成为小...
2019-04-12 14:52:37 2563
原创 APP矩阵和超级APP架构上共存
先来简单介绍下什么是APP矩阵,就是在一个领域内,对业务或者是目标人群的精细划分后,规划出多App垂直覆盖的策略。典型的就是九九房、字节系或头条系的App。它的优势很明显精准推广,定点投放,万一一个业务出问题,导致APP下架不影响其他业务。超级APP大家一般比较熟悉类似美团、淘宝、支付宝这些都是一个个超级APP,围绕主战场构建生态,聚合各种业务。超级APP的优势也很明显新业务推广成本低不需要引导用...
2021-11-29 21:01:28 626
原创 app框架一(组件化)
背景在早期app功能比较简单业务不复杂的情况下,我们一般都不需要组件化,最多就是基础库抽成私有库,正常情况下不需要划分业务组件也不需要路由等。在合适的时机引入合适的框架,而不是盲目的跟风炫技。特别是有些app就1-2个人更新迭代,业务也相对比较简单,如果硬要引入组件化无疑是加剧迭代成本。所以组件化我认为他应该是中大型项目为了更好的业务解耦以及布局平台化、生态化的必要手段之一。我们的app是一款sa...
2021-11-19 11:08:32 738
原创 小学学的东西到底有多少作用?
今天让女儿学习,她不想学,想看电视问我“为什么要学这些,我不想学”。对啊,为什么要学这些,小学主要学语文和数学,数学在生活中还是比较常用的,其实也只用到学过数学里面很小的一部分。但是语文学的古诗、文言文、散文等等工作中用吗?不会某首古诗,看不懂某个文言文又会啥样呢?影响生活影响工作了吗?显然没有,那我们又为什么对于某首古诗默写不出来而发愁焦虑呢?因为万一考试考了什么办?过分追求成绩已经出现了本末倒...
2021-02-24 01:13:18 260
原创 02 | App 启动速度怎么做优化与监控?
一般而言,App 的启动时间,指的是从用户点击 App 开始,到用户看到第一个界面之间的时间。总结来说,App 的启动主要包括三个阶段:main() 函数执行前;main() 函数执行后;首屏渲染完成后。 main() 函数执行前在 main() 函数执行前,系统主要会做下面几件事情:加载可执行文件(App 的.o 文件的集合);加载动态链接库,进行 re...
2020-04-10 00:04:29 574
原创 01 | 建立你自己的iOS开发知识体系
小结今天我跟你说了 iOS 开发中哪些知识是需要着重学习的,以及怎样将这些知识体系化。在学习知识的道路上,我的建议是求精、求深,基础打牢,以不变应万变。在工作上,则要注重开发效率,避免不必要地重复造轮子,理解原理和细节,同时开阔眼界,紧跟技术前沿。说到底,不要急着看到啥就去学啥,有目的、有体系地去学习,效果才会更好。即使工作再忙,你也要找时间...
2020-04-09 23:53:16 185
原创 面试技巧
之前整理的面试技巧,先记录下,有时间再系统整理 1.先问些开放式问题,然后逐渐聚焦 如:之前的项目情况,项目中遇到的难点,最有成就感的事情,在团队里面处于什么位置,封装过哪些控件,是如何封装的 2.尽量少问概念定义,把具体技术点落地化多举例。如 对象:水杯 说下它们的属性 事件 方法。 mvp:做个登陆界面 那些代码放p,哪些代码在m等。...
2019-12-25 23:43:01 88
原创 OC Exception
背景: 最近在整理bugly上的问题,顺便整理记录下来,方便后面开发的时候避免犯一样的错误.ios现在的系统版本都到13点几了,而我们app之前支持到ios8,后面升级到ios10.所以我们解决的问题主要还是针对ios10及以上.在解决问题的同时发现ios11以下也就是ios10点多有很大的差别.或者说ios11开始系统做了好多容错处理,好多本来应该闪退的...
2019-11-26 11:52:26 775
原创 B端app中台如何做?
“中台”这个概念我是在2017年从公司服务端大佬那里听说的.那会整个研发团队开始重组,正式成立中台团队,在项目构架上也是由之前各个业务线各做各的改为底层通用能力由中台统一提供.我们的B端app也是在那时候改造的,在改造之前是这样的,电商业务线有自己独立的一个app,餐饮业务线、酒店业务线等等基本上每个业务线都要做一个B端app.然而saas的B端app还是有很多共通性...
2019-09-25 11:41:45 1252
原创 业务型团队如何提高人效
大部分公司都是业务型团队,业务驱动不是技术驱动。一直觉得业务型团队没有太多技术含量,用的技术也都是比较成熟的。他们对技术没有特别的创新需求,他们最大的敌人是业务。越是大型项目业务场景就越是复杂,所以他们大部分时间都在理解业务,进行业务构架并最后落地到代码结构(可以理解为框架、封装、抽象、规范等)。他们不会像技术型团队,为了解决某个技术点花费几天甚至几个月,...
2019-05-24 05:02:00 1431
原创 Hybrid app的一些思考
由于业务的需求最近在看Hybrid,只要一提到为什么需要选择Hybrid,就总会看到这样一个理由“IOS&Andriod开发一个APP似乎成本有点过高了,而H5的低成本、高效率、跨平台等特性”。看到这个我总想辩解下,看来你们根本不懂app不懂hybrid,所以才觉得app开发成本高。也许从表面上看app是需要开发2个端,一个项目至少需要2个人并行开...
2019-05-15 11:52:00 211
原创 关于JSPatch的一些坑
发出去的app 出现bug 鞭长莫及?有热修复的出现再也不用担心了。可以在客户还没发现就偷偷的把bug修复了。JSPatch我相信有好多人会用的,但是否真的了解他的原理呢?是否发现一些坑呢?1.前段时间苹果封杀了JSPatch,但苹果只根据关键字的过滤,我的做法就是把JSPatch重写,一个主类有几千行代码,看的真心累啊!我把它拆分成几个子类,我想就算是原创作者都认不出来了吧?不多说了上代码。...
2019-04-12 15:22:25 820
原创 组件化开发,cocoapods原理是什么?
说到组件化开发,网上可以看到很多资料,如蘑菇街、滴滴、淘宝、携程、豆瓣、京东的组件化架构。但里面介绍比较多的是在现有app如何拆分,组件间如何通信。没有说组件该如何去搭建,像网络请求,json解析这些每个组件都需要用到的共用工具该如何处理。找了好多资料,大部分都说使用cocoapods创建私有库,但是我的模块都是业务模块,也就是我的有些组件的共用性并不高啊!我只是想让每个业务线的代码解耦,方...
2019-04-12 15:21:02 183
原创 关于B端app的组件化
组件化已经不是什么新名词了,大公司好多大型app基本都要经历这个阶段,不同的是我这次是对B端app做了组件化开发的拆分。可能有些人会不明白,B端app为什么会需要组件化。大部分的B端app也确实不需要去组件化,但是我们的app却不同。我们的app集成了有好几条业务线,随着业务线越来越多,每条业务线功能越来越重,我们的app也越来越大。如果不组件化的话我们将面临以下几个问题!1.虽然每条业务线的...
2019-04-12 15:19:45 226
原创 如何用小程序开发app
背景都知道小程序的体验要比app里面直接嵌入h5的体验要好,都知道小程序其实也是运行在app上的。那么我们为什么不能用小程序来开发app呢?这样不仅可以小程序和app只要开发一次,小程序和app都有了。还可以实现app动态更新不需要提交应用市场审核,我们只要做个小程序载体的app壳(类微信端小程序 sdk),而且体验效果也接近原生。做一个类似小程序平台把我...
2019-04-09 15:55:00 533
原创 生态型APP的未来
好久没时间写了,被业务推着走是多么可怕的事情,没有时间静下来沉淀。最喜欢过年前后这段时间,终于有时间安安静静地写代码、做自己想做的事情。近2年被大前端的浪潮冲击中,原生app开发何去何从呢?这就要从app发展至今的一个发展史说起了。技术上:原生->嵌入h5->Hybrid->(Lua、RN、Weex)->小程序形式上:简单应用-&g...
2019-02-13 13:51:00 220
原创 关于苹果推送的一些限制,给产品同学参考
大家都知道苹果有很多限制,没有android灵活。所以很经常有些需求下来就发现android很容易就可以实现,ios却不可以。这里就简单的把我能想到的给产品朋友列列,方便大家更好的提需求。远程推送:分为普通远程推送、后台远程推送、静默远程推送 顾名思义推送的触发都是服务端触发。普通远程推送:我们最常见的那种推送,有横幅不管app在前台后台还是进程完全杀死...
2018-03-01 13:43:00 730
原创 关于B端app的组件化
组件化已经不是什么新名词了,大公司好多大型app基本都要经历这个阶段,不同的是我这次是对B端app做了组件化开发的拆分。可能有些人会不明白,B端app为什么会需要组件化。大部分的B端app也确实不需要去组件化,但是我们的app却不同。我们的app集成了有好几条业务线,随着业务线越来越多,每条业务线功能越来越重,我们的app也越来越大。如果不组件化的话我们将...
2017-08-12 23:11:00 306
原创 组件化开发,cocoapods原理是什么?
说到组件化开发,网上可以看到很多资料,如蘑菇街、滴滴、淘宝、携程、豆瓣 、京东的组件化架构。但里面介绍比较多的是在现有app如何拆分,组件间如何通信。没有说组件该如何去搭建,像网络请求,json解析这些每个组件都需要用到的共用工具该如何处理。找了好多资料,大部分都说使用cocoapods创建私有库,但是我的模块都是业务模块,也就是我的有些组件的共用性并不高...
2017-05-25 16:45:00 177
原创 ReactiveCocoa从入门到放弃
ReactiveCocoa简称RAC,说到MVVM好多都会提到RAC,但其实MVVM和RAC没有必然的联系。也就是说我可以只用MVVM设计模式来搭建自己的框架而不用RAC。简单介绍下MVVM:其实网络上有很多资料了,这里只做下我觉的有些注意的和一些总结。MVC和MVVM和大家熟悉的MVC对比,MVC中的view controller 有一部分是...
2017-05-22 14:02:00 132
原创 关于NSTimer
NSTimer 一个计时器,不算常用但也算基础。我想每个开发iOS都应该知道,所以我一般会把他当作一个面试题。可以让我意外的是10个里面没有一个能全部答出来。我的问题是NSTimer如果没有停止掉会不会影响回收?大部分都说会,是的会影响回收,因为NSTimer对self进行了强引用比如以下代码创建了一个计时器:self.timer =[NSTimer s...
2017-05-15 23:22:00 90
原创 关于JSPatch的一些坑
发出去的app 出现bug 鞭长莫及?有热修复的出现再也不用担心了。可以在客户还没发现就偷偷的把bug修复了。JSPatch我相信有好多人会用的,但是否真的了解他的原理呢?是否发现一些坑呢?1.前段时间苹果封杀了JSPatch,但苹果只根据关键字的过滤,我的做法就是把JSPatch重写,一个主类有几千行代码,看的真心累啊!我把它拆分成几个子类,我想就算是原...
2017-05-12 18:53:00 194
原创 开发静态库该注意些啥?
最近在写移动监控SDK,发现除了技术实现还有好多细节需要注意的,这里做下总结分享。坑一:项目开始前一定要取个前缀,减少冲突的可能需要加前缀的地方有哪些呢?1。NSUserDefaults里面的所有字段,如果不加很容易和app开发者起的名字一样,这样就会相互覆盖,至于用谁的就看谁后写入了。2.数据库命名,这个就不用多说了,一样的问题。至于里面的表就看自己的习...
2017-04-14 15:59:00 104
原创 代码实现引导页遮罩(2)
新建HJHoledView类,代码如下:/*绘制遮罩可以画(圆形,矩形,圆角矩形,自定义视图)添加箭头和提示文字案例://添加遮罩指示self.holedView = [[HJHoledView alloc]initWithFrame:self.view.frame];[self.holedView setDimingColor: [[UIColor re...
2017-04-12 09:46:00 202
原创 代码实现引导页遮罩(1)---绘制箭头算法
引导页基本是每个项目都需要的,比如上个新功能需要引导用户点击某个按钮进入某个页面再点击某个按钮啥的。我们一般做法都是通过一组图片来完成这些的?我以前也是这样做的,但是总觉的不够好,1.每个分辨率要有一套图,而且这种图基本都是全屏图,如果宽高比不完全一致一点也不能将就的,每套图片都是不小。2.不是真实界面一些动态数据肯定会不那么一致。所以就想着用真实界面,在...
2017-04-12 09:44:00 217
原创 runtime NSProxy 消息转发
oc中调用方法其实就是向对象发送消息,在编译Objective-C函数调用的语法时,会被翻译成一个C的函数调用:objc_msgSend(),例如:那么,objc_msgSend又做了哪些事呢?,以[object foo]为例:1.通过object的isa指针找到它的class2.在class的method_list中找到foo3.如果clas...
2017-04-10 17:17:00 81
原创 SDK开发中捕获AppDelegate通知
1.需要WMAppDelegateProxy类@interfaceWMAppDelegateProxy :NSProxy- (id)init;@property(nonatomic,strong)NSObject *hjAppDelegate;@property(nonatomic,strong)NSObject *originalAppDelegate;...
2017-04-10 15:02:00 203
原创 关于NSLog
首先,我们去搜索一下 Apple 关于 NSLog 的文档。我们会发现 NSLog 方法中调用的是 NSLogv 方法。Apple 文档中对于 NSLogv 函数是这样写的 :Logs an error message to the Apple System Log facility(参见https://developer.apple.com/refere...
2017-03-23 16:59:00 199
原创 FOUNDATION_EXPORT 与 #define
网络上搜索FOUNDATION_EXPORT出来的基本都是同一篇,但是看的不是很明白就自己做了个实验。地址:http://blog.csdn.net/lingyu_ios/article/details/43836025网络上现有的结论:FOUNDATION_EXPORT 与 #define 都可以用来定义常量FOUNDATION_EXPORT定义的字符串...
2017-03-23 16:49:00 156
原创 初衷
写了七八年代码,一直都是看别人写的。好像没有对社群博客都没啥贡献的。有一次有个小伙伴问我有啥技术积累可以分享的,貌似还真没有。通用组件控件倒是有些,不过都是放在本地,没用的话也就不会有维护,时间一久估计都运行不了。云笔记倒也有不过都是有一笔没一笔的,除了自己估计没人看的懂,重点也是没有公开。试想所有人如果都像我这样只看不写,那会是什么样的景象?所以我决定把自己知道的分...
2017-03-23 13:47:27 100
组件化框架
2017-05-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人