为什么我不建议你做APP

2019-10-18 15:02 来源:未知
  1. 嘀嘀打车
    定位上,打车软件是工具,轻社交,所以初期在社交媒体上价值不大。
    而打车重依赖于地图、GPS、push、支付等交互场景
    所以需要做个APP。

  2. 功夫熊、宜生到家等020上门
    产品初期,其实就是搜索列表、下单的基础流程,无重交互。
    因此,现在大量这类产品都是微信公号+移动网站启动,并借势微信平台推广。
    产品跑起来,获得稳定大量订单以后,再考虑独立做APP。

  3. 罗辑思维
    人家《罗辑思维》都有三百多万爱智求真的小伙伴了,依然就是视频+微信公号。
    其实对于这类内容为核心的产品(媒体)来说,做APP基本没有意义。
    我猜除非有一天,罗胖下决心想大做商城、会员社交,否则应该不会轻易碰APP。

7.网络请求AFNetWorking3.x封装

下载链接:http://git.oschina.net/tqh/WJNetWorking 

上面是我自己的封装,实现get,post,上传图片,下载功能,也可以找其他的封装,或自己根据需求习惯封装

我一向厌恶纯凭感觉拍脑袋的方式,所以对于我不了解的行业,都会从行业背景、现状痛点、竞争情况、产品测试等一点点问起聊开。
(应该是因为这些问题是投资人爱问的吧,大家都对答如流,应该有过准备)

8.app启动图尺寸,app图标大小,启动动画(这个应该写在前面,不在这里也行啦,别介意~)

下载链接:

尺寸大小就在上面的包里~

然后可以在启动图片完成之后添加启动动画,原理就是复制启动图片在工程的根视图控制器最上层添加一个UIimageView,然后创建动画,现在流行的启动广告也是一样的,只不过他换成可以点击,并且从网络获取图片而已

具体实现可参考我这篇博文:

简单来说,频次超低的、离钱远的、交互(人人、人机)弱的idea,应该好好反思。

4.多个target管理

然后,,开心的谈话通常会卡到一个问题上:
** “你打算做一个独立APP,是怎么考虑的呢?”**

9.常用第三方库

POP动画,Masonry自动布局,MJRefresh刷新,FDFullscreenPopGesture丝滑返回,MJExtension模型,可以百度他们的用法

打包下载链接:

科学的方法论应该是辩证的看待世界上的一切事物,这件事也不例外。

(3)配置新的target

除了基本的修改BundleID外,还能控制源文件,第三方库,资源文件的编译选项等情况。在这里就介绍一下我我遇到的不懂BundleID对应不同的第三方静态库吧。首先把两个静态库文件全部添加,然后不同Target加载不同库即可。

如果新加入了文件或者资源,一定要选择所有的Target,默认貌似的不是所有
新的target对应plist重新chose后一定要设置相对路径,不需要在前边的$(SRCROOT),不然使用命令诸如xcrun agvtool what-marketing-version就会找不到

  • 如果想做个特定话题的兴趣社区,其实可以从豆瓣、贴吧等兴趣小组开始尝试运营。
  • 如果你想做一个媒体,其实你可以从微信、简书等开始运营,看看大家会不会爱上你。
  • 如果你想试试大家有没有闲置物品交换的需求,做个公号、Wordpress就能收集用户需求了。

2.网络请求支持http

info.plist中添加 App Transport Security Settings ,创建 Allow Arbitrary Loads 为YES

 

4)一些案例思考

前言

有点零乱,但是我想写下来慢慢整理,搭建一个好点的工程-模式MVC,

会包括一些第三方库,动画库,第三方库管理关联,自定义常用控件的管理和关联

  1. 支持更丰富的交互设计,更好的用户体验。(相比H5页面)
  2. 对设备有更大的控制权。(如获得用户位置,使用摄像头、陀螺仪、NFC等)
  3. 产品和用户有更好的互动。(主动push通知、后台任务等)

3.debug模式和release模式

“我在创业啊,就得立刻马上做一款APP出来。” 这是种迷信,得治。

10.网络请求时候的loading动画,hud提示,弹出自定义的UIAlertView,界面没有数据时候的显示

(1)进行网络请求的时候可以在开始请求之前检测网络,如果网络失败弹出1秒左右的提示框,然后消失,如果有网络进行请求

,请求是有延迟的,做一个loading动画,可以用动态图做也可以自己写动画效果,失败给出失败提示,成功则不返回

(2)自定义的UIAlertView:进行表单填写的一些验证判断和警告,有确认一些设置的提示

(3)界面没有数据一般是没有网络或者网络请求失败,如果是一个详情页面可以在详情页请求的时候做一个loading动画,然后失败了的话就在最上层覆盖一个没有数据的视图,如果是一个列表界面,不做持久话缓存的话可以按照上面的方法来做,做了持久化缓存的话就从里面提出数据加载上来,然后请求的时候进行相关提示

(4)将loading动画封装到网络请求的注意事项:

  如果是单独封装在最上层的视图的话,详情页pop返回的时候需要移除

  tabbar控制器中两个界面请求的时候,一个完成,一个未完成的话,一个没有loading动画,一个有loading动画

  有些界面需要全屏幕覆盖,有些界面需要覆盖导航栏,有些界面需要覆盖标签控制器

  网络监测的loading可以直接封装进去,其他情况需要处理

  方案一:loading视图写在基类里,网络请求的时候传入,根据需要在控制器里面判断

  方案二:loading视图写在网络请求里,根据情况处理 

---------------------华丽的分割线----------------------------

有朋友说可以创一个新工程,把这些全都弄上去做成一个Demo,我觉得不错,抽时间来弄弄

 

本来其乐融融的聊天突然凝固了,我开始听到各种各样的回答:

图片 1

切换代码:

#ifdef DEBUG
    NSLog(@"1111");
#else
    NSLog(@"1111222111");
#endif

用途:比如打印信息,比如测试版本和上线版本需要不同的引用,不同的宏定义等。

 

于是总结一下写出来,省点以后的吐沫星子,出门左转这里看,哈哈。

6.实时检测网络连接状态RealReachability第三方开源库,苹果的坑就不吐槽了

下载链接:

(1)有两种用法,但是首先要将监听打开初始化,可以写到appdelegate里面

 [GLobalRealReachability startNotifier];

(2)实时监听接收通知:可以写到需要实时改变的地方

(3)触发监听:(可封装网络请求在这里面)

  1. H5网站:无需安装/更新,有链接即可访问,超轻量。
  2. 微信公号:提供基础交互逻辑、朋友圈分享渠道、可push可编程。
  3. Wordpress|discuz:基础功能无需开发,当天上线,提供完整内容管理后台。
  4. 小组贴吧知乎简书:目标用户扎堆,便于快速启动运营/测试/拉拢。

5.判断是真机还是模拟器

//判断是真机还是模拟器  
#if TARGET_OS_IPHONE  
//iPhone Device  
#endif  

#if TARGET_IPHONE_SIMULATOR  
//iPhone Simulator  
#endif  

然后,我就balabalabala说了我对做APP的看法,一大杯冰水的量,真累。
从反馈来看,大家对我的想法认可度还不错。

1.预编译文件的创建

在build setting 搜索Prefix Header将里面的空白路径改为 

$(SRCROOT)/xxxxxxxx(你的工程名字)/PrefixHeader.pch

其中PrefixHeader是你自己创建的pch文件

文件里一般会添加两个框架:

#ifndef Carloans_PrefixHeader_pch
#define Carloans_PrefixHeader_pch

#ifdef __OBJC__

#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#import "Header.h"//自己创建的.h文件来存放需要全工程引用的头文件或者宏定义
#endif


#endif

 

APP这种产品形式,能提供哪些独特价值?我总结主要有三点:

(1)按需求使用

iOS开发中,很可能有以下场景:需要开发多个版本,或因需区分收费版,免费版,或因为网络环境需要区分测试版,发布版,或因渠道不同需要区分企业版,AppStore版等等。解决办法无非就是CheckOut多份代码,然后按照指定需求,修改配置……
不同的渠道需要不同的证书,不同的BundleID需要不同的描述文件,不同的BundleID也可能对应不同的绑定BundleID的第三方库。甚至于不同的网络环境也需要不同的BaseUrl,虽然这个可以宏定义解决。可以想象,每次CheckOut改这些配置,是有多么麻烦。其实有一种方式可以完美结局以上问题——创建多个Target。

于是我的建议是——
如果你的产品重依赖于特定交互、硬件设备和消息通知,那就果断做APP。
如果不是,尤其是媒体类、兴趣小组类,那就好好再想想。

(2)创建target

创建一个应用,默认会有一个工程文件名的Target和一个Tester的target,Xcode7创建的话可能也会默认有一个UITest的target。
选中我们的项目Target右键选择Duplicate,我们就拷贝了这个Target,这个Target共享之前的所有代码。
之后就是改名字的操作了。默认会生成一个拷贝的Info.plist。这个Info.plist就对应与我们新创建的Target。如果需要改名字转移位置的话,需要先Remove然后文件夹转移后再添加进去即可。然后就可以随意的修改BundleID,证书,描述文件了等等了。之后为新创建的Target在配置一个Schem。

最后总结一句话:以后谁要在遇到这个问题,我就把这篇文章贴她脸上,哇嘎嘎。

有几个朋友也准备跳入创业火坑了,找到我说帮忙做做产品分析和可行性讨论,欣然应允。

2)从精益创业的思想来看,上来就做APP不够轻。

3)最重要的,想清楚APP这种方式的优缺点。

罗辑思维

我得到多数的答案,是NO。

其他渠道也有各自的优点:

但是呢,实现这个产品的最佳形式,也许是一张流传甚广的Excel表格、也许是一个豆瓣小组、也许是一张张公告栏的招领启事,也许是一张截图、也许是一个微信公号。但很可惜,它不该是APP。

因此请思考一个问题:
“如果想论证我的idea可行性,一定必须注定要通过独立APP来验证吗?”

最近迷上了新产品的可行性分析和推演。

这三个肯定都是有产品价值的,而且对某些用户/场景也是疼极了的痛点。

  • 做一个APP,可以拿到更多投资啊。
  • 移动互联网创业不就是应该做APP的吗?
  • 额,,额,,,不然呢?
  • 不做APP叫什么创业啊?(同时对我投来不屑的眼神~)

我理解所谓精益,是在不断小步测试和推翻中探索产品,其实论证绝大多数的idea,APP都不是必要环节。

更新

————————————————————————————————————------------——
又上首页NO.1了,谢谢大家的支持,欢迎转载分享到各个地方,但请保留”许一几“的名字。

PS。赞数和粉丝数不成比例啊。。”本文完全原创,每一个字都是深夜点灯揉眼咬嘴唇独自敲打!“,加上这句话会不会关注的人多一点?哈哈:)

1)一些产品idea根本撑不起一款值得创业的独立APP。

创业最初,我认为最重要的是快速投入市场、验证idea、并探索产品模式。

  • 做一个查询北京学区房的APP,输入小区名,输出是哪个学校的学区房。
  • 做一个解密兴趣讨论的APP,讨论加密解密的心得技巧。
  • 做一个捡钱还给失主的APP,捡钱发布->失主认领。
  • 做一个北京到天津汽车时刻表的APP,解决官网更新不及时的问题。

比如,你想用以下这些idea帮助你创业,达到人生巅峰,我劝你再好好想想:

关于是否应该做APP,其实无外乎几个朴实的道理:

TAG标签:
版权声明:本文由32450新蒲京网站发布于葡萄游戏厅_体育游戏,转载请注明出处:为什么我不建议你做APP