客户端开发设计总结

1 基础设施程序最基本的处理就是数据IO以及为了并行计算所做的操作,它们通常会作为程序的底层框架,供上层使用。2 交互从PC到现在的移动设备还有VR,人机交互中的输入设备在不断自然化,可是展示界面的元素仍然还是这几种:静态文本、按钮、列表、输入框、选择菜单、进度提示、滚动条、标签页。每种UI框架都提供这些基本组件,可以说掌握它们就等于对这个框架入门了。高级的交互会跨越窗口、跨越程序,并能更智能化地响...
阅读(2469) 评论(0)

跨平台客户端开发经验总结

1 前言因为《猫科动物和企鹅在窗口外看机器人吃苹果》这出戏太美,很多公司都希望能全平台同时发布新版本app,还要能复用代码以降低开发成本。这迫使一部分已熟悉某个平台的先锋们转岗到另一个平台边学习边开发。最终有少部分人在每个战场都打拼过,从而能全盘考虑以设计出良好的可复用架构。 革命总会出新知,今天已有一些开源框架能应对同时在5大平台Mac OS X、Linux、Windows、Android、iO...
阅读(4772) 评论(7)

boost全平台编译方法

0.通用规则boost自带一套编译工具bjam,bjam本身是跨平台的,并且也要自行编译出来。在boost目录下有bootstrap.sh和bootstrap.bat两个脚本分别用来编译*nix和windows下的bjam。bootstrap脚本可以传入参数,以在编译bjam过程中生成特定的编译boost的配置。编译bjam过程中生成的project-config.jam就是默认的配置,但还可以在运...
阅读(25311) 评论(21)

iOS社交app技术合伙人笔试题

理想状况当然是找到有管理能力且还在写代码的架构师了,然而如果有这样的人,他自己能发起项目了,你要拉上他还真难。满足一定条件就行了,别追求完美。还有比这更完美的吗?请生产这样的机器人:性格开朗(开朗≠外向),平易近人表达能力好,易于沟通交流有设计能力,有攻关能力知识范围广,跨职能团队合作顺畅在业界有一定视野或影响力,有好的人脉资源有管理能力(经验≠能力),中后期能管好团队,顺利成长为管理者没身体和家...
阅读(3546) 评论(0)

利用javascript和canvas获取UIWebView网页里的图片(不用再下载)

在UIWebView网页里要获取img标签的图片,网上的方法都是通过获取到URL然后自己再下载一遍,耗流量、耗时间、不能通过验证。 这里是利用UIWebView的stringByEvaluatingJavaScriptFromString函数,执行一段js,返回图片数据。 具体的方式有两种:...
阅读(11692) 评论(40)

网页在Safari快速滚动和回弹的原理: -webkit-overflow-scrolling : touch;的实现

现在很多for Mobile的H5网页内都有快速滚动和回弹的效果,看上去和原生app的效率都有得一拼。 要实现这个效果很简单,只需要加一行css代码即可: -webkit-overflow-scrolling : touch;可用以下网页测试: scroll .container {...
阅读(70015) 评论(3)

iOS开发用到的Mac工具

mark一下吧,只是个人经验。 Xcode,IDE gdb,lldb,命令行调试工具 Simulator,模拟器 Application Loader,(上传app store用) Instruments,各种开发辅助工具,性能测试、自动化测试、内存泄露检测等 Chrome,看网页、调试网页 Safari,可以辅助调试ios模拟器的网页 TextMate,简单的文本编辑器...
阅读(3033) 评论(0)

Mac10.9和iOS7新公开的框架JavaScriptCore.framework

官网的介绍: The JavaScript Core framework (JavaScriptCore.framework) provides Objective-C wrapper classes for many standard JavaScript objects. Use this framework to evaluate JavaScript code and p...
阅读(5253) 评论(3)

iOS WebCore的WebEvent和EventHandler

WebEvent是iOS专有的类,负责封装和携带从UIKit得到的系统事件信息,并由WebKit层的WAKResponder子类传递到WebCore的EventHandler。 UIKit层的逻辑可参考《iOS私有API(三) UIWebView下的手势识别器gestureRecognizer》,WebKit层的相关类可参考《WebCore::Widget浅探》。 开源码中WebEvent的声...
阅读(2812) 评论(0)

查找MobileSafari WebKit revision number的方法

Mobile Safari是开源的Mac Safari的iOS版本,然而iOS WebKit并不完全开源,只公开了部分的WebCore和JavaScriptCore。有时需要知道iOS Safari的WebKit revision number是对应www.webkit.org上的哪个,可以这么看。 用Mobile Safari打开http://www.whatsmyuseragent....
阅读(2757) 评论(0)

iOS调用WebView私有API的方法

WebView的私有API请查看《UIWebView体系结构(七)WebView》。 先上代码吧 - (void)modifyUA { id webView = [uiWebViewInstance valueForKeyPath:@"_internal.browserView._webView"]; [webView performSelector:@selector(set...
阅读(7554) 评论(8)

UIWebView体系结构(八)各个Client综述

各种Clients会有些共性: 1.WebCore会声明抽象基类,各Controller持有基类类型的指针 2.由第三方创建Client并传递指针给Controller,Controller析构时会通知Client,Client此时删除自身。例如 void WebChromeClient::chromeDestroyed() { delete this; } 3.自身脱离W...
阅读(3166) 评论(0)

iOS Safari/WebKit对DeviceMotionEvent的实现

请先阅读《iOS Safari/WebKit对DeviceOrientationEvent的实现》,本文是姐妹篇。 简单地描述一下区别,后面会更详细对比: DeviceOrientationEvent是获取方向,得到device静止时的绝对值; DeviceMotionEvent是获取移动速度,得到device移动时相对之前某个时间的差值比。 背景知识: Apple官方依然只...
阅读(8263) 评论(0)

iOS Safari/WebKit对DeviceOrientationEvent的实现

背景知识: Apple官方只发现一个文档: https://developer.apple.com/library/safari/#documentation/SafariDOMAdditions/Reference/DeviceOrientationEventClassRef/DeviceOrientationEvent/DeviceOrientationEvent.html 连个例子都没...
阅读(10349) 评论(5)

iOS Safari和UIWebView对orientationchange事件的实现

背景知识: Safari Web Content Guide中关于orientationchange的文档: http://developer.apple.com/library/ios/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html#//apple_re...
阅读(4505) 评论(2)

UIWebView体系结构(七)WebView

在《iOS WebCore的wak目录》中证实了iOS的WebKit是想尽可能复用Mac上的代码,所以WebView在iOS和Mac上差不多。 Mac WebView的参考文档: https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/WebKit/Classes/WebView_Class/Referenc...
阅读(6361) 评论(0)

Objective-C头文件导出工具class-dump

首先,这个工具是开源的。作者网站:http://stevenygard.com/projects/class-dump/ 用途: 分析库文件或可执行文件,得到Objective-C类和部分C结构体的信息。常见使用场景是得到系统SDK的私有API。头文件的例子请参考《UIWebView体系结构(六)UIWebView》 原理: Objective-C类的信息会有字符串来对应描述,分析保存这些...
阅读(13576) 评论(0)

IDA反汇编/反编译静态分析iOS模拟器程序(九)block

在第三节 函数表示与搜索函数 提到block函数和普通的OC函数不同。 反汇编分析前需要理解block的实现原理,故推荐先看看这几篇文章及其所引用的参考资料: Block介绍(一)基础 Block介绍(二)内存管理与其他特性 block介绍(三)揭开神秘面纱(上) block介绍(四)揭开神秘面纱(下) block函数的命名与上文提到类似。函数内部定义的block会以sco...
阅读(5831) 评论(8)

iOS开发知识与能力体系 思维导图

越写越多,整理不完,也许思维导图都不是最好的承载工具了,以后再继续补充。 分辨率为2042*3917,点击查看大图: 转载请注明出处:http://blog.csdn.net/hursing...
阅读(10764) 评论(6)

IDA反汇编/反编译静态分析iOS模拟器程序(八)IDA for Mac

iOS多用OC(Objective-C)编程,Mac也类似,所以IDA for Mac对OC的支持似乎强些。Windows的IDA在反汇编某些SDK库文件时会识别不出OC的函数名,而且对OC运行时的结构体也没识别出来。当然,因为我用的是6.1版的windows IDA, Mac上用的是6.4版,不知道是不是windows IDA 6.1的bug了。 总之在界面操作流程上,感觉Mac IDA是对O...
阅读(23590) 评论(17)
59条 共3页1 2 3 下一页 尾页
    个人资料
    • 访问:917696次
    • 积分:9040
    • 等级:
    • 排名:第1929名
    • 原创:123篇
    • 转载:0篇
    • 译文:0篇
    • 评论:406条
    联系方式
    博客专栏
    最新评论