V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
qianji201712
V2EX  ›  程序员

拯救一个已经死亡的 App 的方式就是——写一个新的,工时一天半, OnePic 上线

  •  6
     
  •   qianji201712 ·
    litang0908 · 2019-05-10 12:47:45 +08:00 · 13900 次点击
    这是一个创建于 2032 天前的主题,其中的信息可能已经有所发展或是发生改变。

    题记

    源于这个帖子 https://www.v2ex.com/t/560252#reply22 ,一个我曾经也用过的 App,发觉已经死了(官方停止维护,服务器也挂了)

    这个 App 的功能很简单,就是给你的图片增加文字,内置多种字体,选择合适的字体,生成一张精美的图片。

    顺便下载这个 App 看了一下,交互也还行,只是由于服务器挂了,导致无法下载字体,整个 App 基本上就废了,但是我个人比较喜欢这种功能单一,体积轻小的 App,所以有点想再造一个出来。

    前天下午开了 2 两个小时无聊的会,实在坐不住,就想起了这个 App,遂开始动手设计。
    App 暂时取名 OnePic ,已经上架酷安市场,链接直达 https://coolapk.com/apk/com.mutangtech.onepic
    整个 App 体积 3.5M ,本来想控制在 3M 以内的,奈何已经到极限了

    无图无真相

    思维导图

    大概设计了整个 App 需要的功能和一些技术模块

    开发过程

    从前天下午到昨晚做完第一版,基本上按照上面的思维导图来写的,用了一些我之前写钱迹时自己封装的框架。

    技术栈主要有一下几个方面:

    后端

    因为考虑到日后维护字体的方便性,就搭建了一个简易的 PHP 服务端,只提供两个接口:一个 App 初始化的配置接口,一个字体列表的接口,代码简单,返回普通的 JsonArray ,耗时约半个小时。

    服务器配置

    配置了单独的域名,因此需要额外配置 DNS 解析和服务器域名定向操作,耗时 10 分钟。

    Android

    主要的工作还是在 Android 端,四个界面:

    • 主界面,直接操作,编辑文字
    • 图片选择界面,从相册选择并裁剪图片,这个界面比较复杂,就单独写了图片扫描列表,最后裁剪时引入开源的 uCrop ,不过这个库比较死板,再它的基础上进行了二次开发,同时,考虑到手机屏幕比较小,做了一些手势滚动的处理,方便展示更多的内容
    • 历史图集,存放用户所有生成的图片,可以直接分享或者删除
    • 关于界面,每个 App 都有的没人看的页面

    整个 App 的设计,参考了简图原有的交互,也加入很多个人的想法进去,不过呢,本人设计能力有限,可能会比较丑。
    字体是从网上找的,配置到了 CDN 上面,通过 API 接口来下发,方便后期加入新的字体进去。

    Android 一律使用 Kotlin 来写,加入了部分 C 代码做接口安全校验工作。

    主要的技术问题,在思维导图中有详细的列出来。

    存在的问题

    • 图片裁剪比较慢,考虑到图片的高清程度,图片裁剪上限配置成了 2400,所以裁剪略慢,加入降低到 1080 的分辨率,做出来的图,再发到微博时,经过二次压缩,质量会损失很多
    • 未实现高斯模糊效果,放二期
    • 在华为和小米手机测试通过,不过其他机型不保证百分百正常,如果有问题,我持续改进它

    后续

    • 根据大家的反馈来进行改进
    • 解决存在的问题
    • 实现高斯模糊效果 虽然现在各种美图 App 功能都很强大,也可以加各种文字,滤镜,所以有人好奇为什么还要重复造轮子,其实我就是闲的 = =
    142 条回复    2019-05-26 11:50:35 +08:00
    1  2  
    imningfeng
        1
    imningfeng  
       2019-05-10 12:50:40 +08:00
    牛逼牛逼,支持支持
    Garwih
        2
    Garwih  
       2019-05-10 13:03:02 +08:00 via iPhone
    字体版权问题怎么解决呢?
    jdhao
        3
    jdhao  
       2019-05-10 13:10:41 +08:00 via Android
    我也想问字体,不过个人随便用用应该没问题,很多字体个人用免费。另外,思维导图用什么软件做的啊,感觉不错
    qianji201712
        4
    qianji201712  
    OP
       2019-05-10 13:12:16 +08:00 via Android
    @Garwih 目前是 Demo 阶段,有几个商用字体,过两天拿掉,一律使用免费的字体就好了,后续还将支持用户自己导入字体,版权还是要尊重一下的
    qianji201712
        5
    qianji201712  
    OP
       2019-05-10 13:12:51 +08:00 via Android   ❤️ 1
    @jdhao 思维导图是 幕布 这个软件,强烈推荐,简洁强大,目前已经被头条收购了
    Paual
        6
    Paual  
       2019-05-10 13:14:15 +08:00
    厉害
    hereIsChen
        7
    hereIsChen  
       2019-05-10 13:16:03 +08:00
    是时候更新一波沙雕表情包了😆
    qianji201712
        8
    qianji201712  
    OP
       2019-05-10 13:18:22 +08:00 via Android
    @hereIsChen 不不不,要美观、优雅、漂亮、唯美、纯真....
    omph
        9
    omph  
       2019-05-10 13:19:55 +08:00
    文字比较多,该怎么处理比较好?
    qianji201712
        10
    qianji201712  
    OP
       2019-05-10 13:25:50 +08:00
    @omph 那可能没有好的方案了,毕竟一张图上面放太多文字也不好看啊
    TwoDays91
        11
    TwoDays91  
       2019-05-10 13:27:58 +08:00 via Android
    这效率厉害厉害
    rain423
        12
    rain423  
       2019-05-10 13:31:38 +08:00
    lz 执行力很强,佩服
    qianji201712
        13
    qianji201712  
    OP
       2019-05-10 13:33:03 +08:00   ❤️ 1
    @rain423 就是想到了就想尽快做出来体验体验 :)
    mzlzero
        14
    mzlzero  
       2019-05-10 13:34:26 +08:00
    体积小不是应该上小程序吗
    qianji201712
        15
    qianji201712  
    OP
       2019-05-10 13:35:36 +08:00 via Android
    @mzlzero 体验不好,做的图效果也一般啊,关键,不会写小程序🙃
    keith1126
        16
    keith1126  
       2019-05-10 13:35:47 +08:00   ❤️ 1
    lz 的生产效率好高,赞一个。

    (顺便赞美一下楼主开发的钱迹 APP,每天记账都用,相当好用
    qianji201712
        17
    qianji201712  
    OP
       2019-05-10 13:41:02 +08:00
    @keith1126 感谢对钱迹的赞美哈哈
    haxc
        18
    haxc  
       2019-05-10 13:54:00 +08:00 via Android   ❤️ 1
    使用了下,因为我也有经常要添加文字到图片的需求,一般使用美图秀秀,楼主这个建议加上几个功能,和美图秀秀添加文字的差不多就可以了
    双指缩放文字大小,转换方向,文字可以移动到任意位置,字体可以加粗之类
    iblessyou
        19
    iblessyou  
       2019-05-10 13:55:21 +08:00
    不懂手机端东西,想问下应该还有什么注册申请、上架审核什么的,3 天就可以这么简单搞定么
    qianji201712
        20
    qianji201712  
    OP
       2019-05-10 13:56:12 +08:00
    @haxc 多谢,二期我来实现吧
    whitev2
        21
    whitev2  
       2019-05-10 13:56:33 +08:00
    不建议导入分享 SDK,使用系统内置的分享功能就可以了
    qianji201712
        22
    qianji201712  
    OP
       2019-05-10 13:57:19 +08:00
    @iblessyou 因为我已经注册过各大应用市场,所以只需要上传 App,等待审核就好了,国内最友好的市场是酷安,半天就审核过了,Google Play 更快,主要工作量还是在开发阶段
    qianji201712
        23
    qianji201712  
    OP
       2019-05-10 13:57:53 +08:00
    @whitev2 嗯,已经否掉分享 SDK 了,使用了 Android 自带的,简单又好用
    psj1105
        24
    psj1105  
       2019-05-10 13:59:53 +08:00
    资瓷一下
    cspolecat
        25
    cspolecat  
       2019-05-10 14:00:42 +08:00
    这效率可以的~ 👍
    SimonOne
        26
    SimonOne  
       2019-05-10 14:00:52 +08:00
    请问,脑图用的什么软件啊?
    zixianlei
        27
    zixianlei  
       2019-05-10 14:04:57 +08:00
    我以为你开源了。。我还想搞搞呢
    qianji201712
        28
    qianji201712  
    OP
       2019-05-10 14:06:31 +08:00
    qianji201712
        29
    qianji201712  
    OP
       2019-05-10 14:06:57 +08:00
    @zixianlei 直接用啊,有什么需求尽管提 :P
    haxc
        30
    haxc  
       2019-05-10 14:09:23 +08:00 via Android
    还有忘记说,可以使用整张图片修改,或者裁剪部分图片
    qianji201712
        31
    qianji201712  
    OP
       2019-05-10 14:11:23 +08:00
    @haxc 目前定位成了正方形的图片,先上线,看看大家的反馈,说不定就支持多种裁剪方式了,感谢!
    dabaibai
        32
    dabaibai  
       2019-05-10 14:13:33 +08:00
    只能说厉害
    JerryCha
        33
    JerryCha  
       2019-05-10 14:14:37 +08:00
    棒👍,学习了。
    GBS4tpm0slp4U0m7
        34
    GBS4tpm0slp4U0m7  
       2019-05-10 14:17:47 +08:00
    iOS 版本求一个
    huang2tui
        35
    huang2tui  
       2019-05-10 14:20:38 +08:00
    nice!这个行动力,满分
    qianji201712
        36
    qianji201712  
    OP
       2019-05-10 14:21:34 +08:00
    @haoo 怕写了你不用啊 hhh,等我钱迹搞完了,用 Flutte 写一个吧
    guoyuchuan
        37
    guoyuchuan  
       2019-05-10 14:23:34 +08:00
    你这头像不是钱迹的嘛
    oyifan
        38
    oyifan  
       2019-05-10 14:24:01 +08:00
    @qianji201712 #36 以为你会开源,然后会有一个跟你一样闲的 iOS 帮你开发了
    Genokiller
        39
    Genokiller  
       2019-05-10 14:24:36 +08:00
    @qianji201712 给力,楼主 flutter 怎么学习的
    wpzero
        40
    wpzero  
       2019-05-10 14:25:34 +08:00 via iPhone
    cool
    samondlee
        41
    samondlee  
       2019-05-10 14:25:43 +08:00
    字体如果可以设置透明度就好了 hhhh
    InternetExplorer
        42
    InternetExplorer  
       2019-05-10 14:27:55 +08:00
    方正警告⚠️证据已采集,正在生成律师含
    Homebrew
        43
    Homebrew  
       2019-05-10 14:33:51 +08:00
    所以,这个产权属于公司,还是属于你?
    qianji201712
        44
    qianji201712  
    OP
       2019-05-10 14:39:56 +08:00
    @InternetExplorer 不盈利,没有侵权 --,而且,过两天就删了,目前用户不多,准备一律换成免费字体
    qianji201712
        45
    qianji201712  
    OP
       2019-05-10 14:40:17 +08:00
    @guoyuchuan 钱迹就是我写的 hahhh
    qianji201712
        46
    qianji201712  
    OP
       2019-05-10 14:40:51 +08:00
    @Genokiller 自学啊,官网教程很全面的,耐着性子跟着学就好了
    lovedebug
        47
    lovedebug  
       2019-05-10 14:44:16 +08:00
    执行力点赞
    bydgg
        48
    bydgg  
       2019-05-10 14:56:08 +08:00
    表情包是个好思路哦
    sute
        49
    sute  
       2019-05-10 15:09:04 +08:00
    难怪看 LZ 的头像这么熟悉,原来就是钱迹的开发者,正在用你的 APP,很不错,希望能继续维护。
    Eytoyes
        50
    Eytoyes  
       2019-05-10 15:15:59 +08:00
    佩服
    Dfj0ae
        51
    Dfj0ae  
       2019-05-10 15:25:51 +08:00
    其实可以连服务器都省掉的,直接找个公开的博客,写入各种配置(这里要预留以后更新配置的地址),然后 base64 编译一下,app 取到之后再解密。*_*
    yannxia
        52
    yannxia  
       2019-05-10 15:29:17 +08:00   ❤️ 1
    已下载…太棒了,感觉重获新生。
    keith1126
        53
    keith1126  
       2019-05-10 15:32:05 +08:00
    @Dfj0ae #51

    这还是用了服务器啊,只不过是借用了博客的...还不如自己弄一个,比较靠谱
    RobertWu
        54
    RobertWu  
       2019-05-10 15:33:34 +08:00
    PHP 服务端是用的哪个框架,C 代码安全校验是怎么做的?能否分享下,想学习一下。
    qianji201712
        55
    qianji201712  
    OP
       2019-05-10 15:36:19 +08:00
    @Homebrew 产权属于我
    qianji201712
        56
    qianji201712  
    OP
       2019-05-10 15:36:46 +08:00
    @sute 会的,准备月底辞职了,然后专职搞钱迹
    qianji201712
        57
    qianji201712  
    OP
       2019-05-10 15:38:05 +08:00
    @Dfj0ae 嗯,其实也可以的,或者找一个 github,存个 json 配置,每次去拉取就好了,用服务器是因为我之前做钱迹,有一整套完整的系统,有后台直接配置就好了,也挺方便的,也好以后再扩展
    qianji201712
        58
    qianji201712  
    OP
       2019-05-10 15:38:49 +08:00
    @yannxia 还是看了你的帖子才想起来这个 App 的哈哈
    yannxia
        59
    yannxia  
       2019-05-10 15:53:37 +08:00
    @qianji201712 老哥,二期感觉可以把原来简图有 那些纯色和纹理的功能加起来,对于我来说,我感觉那功能还是挺实用的,经常发一些单色图的文字。还要我感觉上面的同学们说的字体的问题也是,如果做成自行导入的形式,不知道可以不可以规避掉一些法律风险
    iugo
        60
    iugo  
       2019-05-10 15:56:06 +08:00
    PHP 后端就用半个小时?

    我写个文档都要不止半个小时.

    应该是脑中的结构很清楚了, 才这么高效.
    WhoMercy
        61
    WhoMercy  
       2019-05-10 15:56:08 +08:00
    lz 执行力确实强,干净简洁的安卓 app 好评

    btw.看开头几句话,还以为开会两小时出个小差,就把 app 设计好,并写完上架了,也太强了 8😂...
    (当然,看完就知道并不是这样
    qianji201712
        62
    qianji201712  
    OP
       2019-05-10 15:58:36 +08:00
    @RobertWu PHP 框架我用的 phalcon https://phalconphp.com 不过这种小 app 的 API,不用框架也完全可以。
    C 层代码安全校验,主要是和服务器约定好一个算法,然后在本地生成一些校验码,在请求 API 时,服务器会根据提交的参数,同样生成校验码,然后比对就好了
    qianji201712
        63
    qianji201712  
    OP
       2019-05-10 15:59:45 +08:00
    @yannxia 纹理这个我已经安排在二期里面了,可以的,还有字体也是二期计划做,支持用户手动导入,这样更加灵活一些
    qianji201712
        64
    qianji201712  
    OP
       2019-05-10 16:01:12 +08:00
    @iugo 嗯嗯,因为做钱迹,积累了很多经验,其实这个后端的接口,就是在 Controller 的一个方法里面,返回一个 JsonArray 的数据就好了,非常的简单,写完部署到服务器上面就可以了,很多东西提前就可以想清楚
    qianji201712
        65
    qianji201712  
    OP
       2019-05-10 16:05:20 +08:00
    @WhoMercy 提前整理好要做的东西后,感觉剩下的工作就跟搭积木一样,一点点补充就好了,设计完之后的工作,都是很机械的
    fvckDaybyte2
        66
    fvckDaybyte2  
       2019-05-10 16:06:03 +08:00 via iPhone
    啥,一天就开发完了?
    hanqian
        67
    hanqian  
       2019-05-10 16:20:25 +08:00   ❤️ 1
    楼主功在当代,利在千秋。
    746215017chen
        68
    746215017chen  
       2019-05-10 16:22:06 +08:00
    @qianji201712 软著怎么弄的?
    mink
        69
    mink  
       2019-05-10 16:23:22 +08:00
    厉害了,楼主有没有考虑钱迹也做成 ios 应用。
    jason19901128
        70
    jason19901128  
       2019-05-10 16:29:07 +08:00
    @qianji201712 开发大神好,有兴趣赚零花钱不。我手上有一批海外用户( 7 位数,来源不可描述),可以投放 App,可以变现。苦于自己不懂开发,只做过运营,现在想找几个输出强力的开发大牛,“趁热”把这批用户赶紧变现了。
    简单来说就是,你出 app,我出用户,一起分钱。
    qianji201712
        71
    qianji201712  
    OP
       2019-05-10 16:32:42 +08:00
    @fvckDaybyte2 一天半 = =
    qianji201712
        72
    qianji201712  
    OP
       2019-05-10 16:35:07 +08:00
    @jason19901128 可以啊,欢迎一起合作,加个微信吧 litang0908 这是我的
    qianji201712
        73
    qianji201712  
    OP
       2019-05-10 16:35:30 +08:00
    @mink 已经做了 60%了,用 Flutter 在写
    qianji201712
        74
    qianji201712  
    OP
       2019-05-10 16:36:07 +08:00
    @hanqian 不需要软著的,酷安和 GooglePlay,华为市场都不需要,其他国内的应用市场,都是辣鸡
    qianji201712
        75
    qianji201712  
    OP
       2019-05-10 16:36:58 +08:00
    @samondlee 在设置字体颜色的地方,可以设置透明度的
    jason19901128
        76
    jason19901128  
       2019-05-10 16:37:58 +08:00
    @qianji201712 好呢加你了
    sega97
        77
    sega97  
       2019-05-10 16:56:34 +08:00
    非常棒的软件设计和开发规划,收藏了
    Aliennnnnn
        78
    Aliennnnnn  
       2019-05-10 17:23:22 +08:00
    钱迹很好用 hhhh
    Aliennnnnn
        79
    Aliennnnnn  
       2019-05-10 17:28:41 +08:00   ❤️ 1
    给钱迹提个建议:能不能设置自动记录固定消费,每月一号自动记录房租、会员费等按月扣款的固定开支。
    qianji201712
        80
    qianji201712  
    OP
       2019-05-10 17:29:46 +08:00
    @Aliennnnnn 多谢,已经在今年的开发计划中了 ,另外,可以看看我们的路线图 http://docs.qianjiapp.com/roadmap/roadmap_vol1.html
    Aliennnnnn
        81
    Aliennnnnn  
       2019-05-10 17:39:22 +08:00
    @qianji201712 时间粒度可以分为天、周、月。钱迹非常轻量,没有开屏动画,没有干扰信息,APP 启动速度很快,是我能坚持记账的很重额要 d 因素,希望作者能坚持做下去,适当收费也是可以接受的
    razor1895
        82
    razor1895  
       2019-05-10 18:01:13 +08:00
    我曾经也有一样的想法... 就是没有做出来... 回家就是打游戏
    mink
        83
    mink  
       2019-05-10 18:02:26 +08:00   ❤️ 1
    @qianji201712 一直想要好用的记账管理类 app, 但是都不大好用。 楼主加油
    qianji201712
        84
    qianji201712  
    OP
       2019-05-10 19:19:05 +08:00 via Android
    @mink 等我马上把 ios 做完了
    qianji201712
        85
    qianji201712  
    OP
       2019-05-10 19:19:34 +08:00 via Android
    @razor1895 主要我对游戏没兴趣😅😅😅
    ATiGr
        86
    ATiGr  
       2019-05-10 19:30:13 +08:00 via iPhone
    我只想说……图床域名太逗了…… 🐶
    xcodebuild
        87
    xcodebuild  
       2019-05-10 19:45:39 +08:00
    现在个人上架应用要著作权什么的么
    qianji201712
        88
    qianji201712  
    OP
       2019-05-10 19:55:56 +08:00
    @ATiGr 几年前注册的一个奇怪域名,现在在好多 App 中用 = =
    RockShake
        89
    RockShake  
       2019-05-10 20:17:08 +08:00 via Android
    这行动效率,赞一个
    Sanko
        90
    Sanko  
       2019-05-10 20:23:49 +08:00 via Android
    真全栈
    qwe7002
        91
    qwe7002  
       2019-05-10 20:25:12 +08:00 via iPhone
    我在想既然要解决这种可能服务器关掉导致应用死掉的问题,不如考虑一下使用公共资源(例如 github/cloudflare/Google fonts 这类的东西)?
    qianji201712
        92
    qianji201712  
    OP
       2019-05-10 20:41:33 +08:00
    @qwe7002 的确是,很多东西都没必要有服务器的,就是一个工具型的 App,那么字体这些资源,都可以放公共的服务上面
    ilotuo
        93
    ilotuo  
       2019-05-10 21:08:09 +08:00
    lz 我有一个工具应用。绿色无广告。你能帮我上架 google play 吗?我没有开发者账号。。
    qianji201712
        94
    qianji201712  
    OP
       2019-05-10 21:15:54 +08:00 via Android
    @ilotuo 好啊,私聊啊 wechat litang0908
    justfun
        95
    justfun  
       2019-05-10 21:26:58 +08:00
    太强了楼主
    tianzry
        96
    tianzry  
       2019-05-10 21:41:08 +08:00 via Android
    支持一下
    samaxu
        97
    samaxu  
       2019-05-10 21:43:03 +08:00
    这就是 ios 钱迹还没出的原因咯 狗头
    qianji201712
        98
    qianji201712  
    OP
       2019-05-10 21:49:41 +08:00 via Android
    @samaxu 😂😂😂 钱迹可不是一天两天就能搞完的,正在提离职了,离职就有更多时间了
    sindri
        99
    sindri  
       2019-05-10 21:58:31 +08:00
    就喜欢这家种简单看得懂的创造。赞
    pkxutao
        100
    pkxutao  
       2019-05-10 22:05:02 +08:00 via Android
    楼主你专职搞钱迹的话收入来源是什么?
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2608 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 07:11 · PVG 15:11 · LAX 23:11 · JFK 02:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.