App架构师实践指南二之App开发工具

 
 

1、Android Studio

2、编译调试
---条件断点。右键单击断点,在弹出的窗口中输入Condition条件。
---日志断点。右键单击断点,在弹出的窗口中取消勾选Suspeng复选框,然后勾选Logevaluated expression,并输入打印语句即可。
---变量赋值。动态改变变量值调试程序,无须重新运行程序。在该变量的代码处打个断点,然后在Variables窗口找到对应的变量,修改变量值再执行即可。
---计算求值。与变量赋值类似。
---变量观察。直接值断点处以弹框形式查看变量属性值,而不需要值variables变量区和watches观察区查看。
---异常断点。工具栏菜单Run——>选择View Breakpoints——>添加Exception Breakpoints异常断点。

3、版本管理
作为个人开发者,主要使用的是Github或者Bitbucket/Gitcafe,如果使用Github(免费版)必须开源,而Bitbucket/Gitcafe可以使你拥有一定量的私有项目。
作为创业型团队,建议使用Github在公司服务器构建一个Git代码管理平台,或者付费使用Github等工具。
作为大型团队,基本上都是基于Gitlab来搭建Git托管服务器等。如果项目太大,涉及的人太多,Git库超过了GB等级,此时就不太适合用一个Git库来管理来,可以结合Repo(一个管理Git库的工具)和Gerrit来管理。

3.1、 Git分支管理
可以参考learnGitBranching这个开源项目。核心把握下面几个基本原则
---控制好你的分支,区分Release分支(版本发布分支)、Master分支等,保护好你的Realease分支。
---控制分支数量,删除不必要的励志特征分支。
---每次版本体测前、灰度前、发布前记得打Tag。
---分支和主干不能分离,不能脱离组织独干,分支一定是要和主干合并的。如果某种当前特性分支持续时间比较长,那也要不定期地融合主干与分支。所谓分久必合,长期分离是不对的。
---慎待Rebase,深刻理解Gitbase后再使用。
---使用Issue,Markdown。
---关注Code Review,使用Gerrit相对来说比较惬意。
---冲突来,不要慌,沉住气,满满解决。解决冲突必备的装备主要有Kdiff和BeyondCompare。Android Studio内部集成了Git Merge工具。

一般通用的分支管理策略如图3-5和图3-6所示,图3-5是A successful Git branching model一文中描述的Git-Flow流程,图3-6是作者对以前项目的一种分支管理模式的图形化整理,主要有5个核心分支干系,分别为master主干分支、版本主干分支bus/trunk,发布分支bus/trunk{$versionName}、特性主干分支featureX{$featureName}以及hotfix{$versionName} Bugfixed分支,其核心思想是Bug修复主要沿着master分支进行,修复后并进master分支;特性主干分支每次从master分支拉取代码,一个特性完成后合并进bus/trunk分支,最后以恶版本发布后,bus/trunk分支再合并进master主干分支(小技巧,bus_trunk命名换为bus/trunk方式,无论事在SourceTree还是Github界面上,都能够以文件夹的方式呈现)

4、产品设计


5、抓包工具
使用抓包工具希望达到的目的
---SSL拦截。Mac Charles中,如果要在真实设备上拦截SSL连接,需要安装证书。
---弱网环境模拟。弱网模拟有多种用途,其中最主要的是测试App的兼容性。
---断点功能。用于篡改Request和Response数据。
--网络流量检测。最常见的方式是使用TCPDump抓取设备上的网络流量信息,然后在PC上用Wireshark分析。

6、ADB

7、Chrome开发插件

App架构师实践指南二之App开发工具的更多相关文章

  1. App架构师实践指南一之App基础语法

    第二章:App基础语法1.编程范式编程范型或编程范式(programming paradigm),是指从事软件工程的一类典型的编程风格.常见的编程范式有过程化(命令行)编程.事件驱动编程.面向对象编程 ...

  2. App架构师实践指南六之性能优化三

    App架构师实践指南六之性能优化三 2018年08月02日 13:57:57 nicolelili1 阅读数:190   内存性能优化1.内存机制和原理 1.1 内存管理内存时一个基础又高深的话题,从 ...

  3. App架构师实践指南四之性能优化一

    App架构师实践指南四之性能优化一     1.性能维度常见用来衡量App性能的维度如图9-1所示.其中,性能指标包括电池(电量/温度).流量(上行流量/下行流量等).CPU(平均/最大/最小).内存 ...

  4. App架构师实践指南五之性能优化二

    App架构师实践指南五之性能优化二 2018年07月30日 13:08:44 nicolelili1 阅读数:214   从UI和CPU方面来说App流畅体验优化,核心为流畅度/卡顿性能优化. 1.基 ...

  5. App架构师实践指南三之基础组件

    App架构师实践指南三之基础组件 1.基础组件库随着时间的增长,代码量的逐渐积累,新旧项目之间有太多可以服用的代码.下面是整理的公共代码库. 2.关于加密密钥的保护以及网络传输安全是移动应用安全最关键 ...

  6. 网易新闻App架构重构实践:DDD正走向流行

    网易新闻App架构重构实践:DDD正走向流行 https://mp.weixin.qq.com/s/FdwrT_xn3CQqpWoRVBttvQ 小智 InfoQ 2020-05-14 作者 | 小智 ...

  7. 华为云Stack首席架构师:打造“称手”的数字化工具,答好政企IT数字化转型这道必选题

    摘要:数字化转型是一号位工程,数字化的工具本身就是企业的核心竞争力. 本文分享自华为云社区<华为云Stack首席架构师:打造"称手"的数字化工具,答好政企IT数字化转型这道必 ...

  8. Jeecg-Boot 开发环境准备(二):开发工具安装

    目录索引: 后端开发工具 前端开发工具 Nodejs镜像 WebStorm入门配置 JeecgBoot采用前后端分离的架构,官方推荐开发工具 前端开发: Webstrom 或者 IDEA 后端开发: ...

  9. 【架构师之路】APP架构师必看:面对爆发流量如何进行架构调整

    一.APP架构与WEB架构的最大不同 移动APP的架构和传统PC的WEB架构有三点不同: 1.连接的稳定性.在传统的web端连接成功后就可以认为它是稳定的,但在移动端.无线端,APP连接非常敏感,可能 ...

随机推荐

  1. 破解idea

    2019最新注册码 地址:  http://idea.lanyus.com/ https://blog.csdn.net/best_luxi/article/details/81479820

  2. C++ one more time

    写在前面:我们学习程序设计的方法先是模仿,然后举一反三.在自己的知识面还没有铺开到足够解决本领域的问题时,不要将精力过分集中于对全局无足轻重的地方!!! 以下参考钱能老师的<C++程序设计教程 ...

  3. python 全栈开发,Day47(行级块级标签,高级选择器,属性选择器,伪类选择器,伪元素选择器,css的继承性和层叠性,层叠性权重相同处理,盒模型,padding,border,margin)

    一.HTML中的行级标签和块级标签 块级标签 常见的块级标签:div,p,h1-h6,ul,li,dl,dt,dd 1.独占一行,不和其他元素待在同一行2.能设置宽高3.如果不设置宽高,默认为body ...

  4. Excel学习笔记:if({1,0})用法

    一.if函数 判断是否满足条件,满足则返回第2个参数,不满足则返回第3个参数. 使用格式:=if(A1>0,"正","负") 二.if({1,0})用法 ...

  5. Codeforces 891C Envy

    Envy 感觉这种最小生成树上的啥题都差不多的解法.. #include<bits/stdc++.h> #define LL long long #define fi first #def ...

  6. 1.HTTP协议|web框架

    1.web应用 Web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件.应用程序有两种模式C/S.B/S.C/S是客户端 ...

  7. Ubuntu 16.04 LTS 安装Mongodb 3.4

    第一步:安装 #setp 1. Import the public key used by the package management system. sudo apt-key adv --keys ...

  8. 002.Open-Falcon Server部署及Agent监控

    一 前期准备 节点 IP 备注 falcon 私网:172.24.10.95 临时公网:120.132.23.107 Open-Falcon服务端 node01 172.24.10.216 被监控端 ...

  9. STL之双向队列(dequeue)

    //双向队列 deque #include <deque> #include <cstdio> #include <algorithm> using namespa ...

  10. babel和postcss引起的一点儿思考

    写es6,一般都会用到babel,它能把es6转为更好的es5,而es5可以直接在浏览器上运行.postcss是css界的babel,它可以把css转为更好的css,比如autoprefixer,让不 ...