V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
LxExExl
V2EX  ›  问与答

迫于接新项目,有没有通用的 app 开发书籍推荐

  •  
  •   LxExExl · Feb 9, 2021 · 1734 views
    This topic created in 1905 days ago, the information mentioned may be changed or developed.

    如题 最近要接一个 Android 项目从隔壁组 本来想着面向 StackOverFlow 编程 东拼西凑搞定就算了

    后来估计了一下大概要三四周,本着不浪费时间的原则,想顺便系统化一下 Android 或者说 APP 开发的知识

    楼主写过各种语言,但基本都是 Server 端的业务逻辑,没在前端和 app 端干过。

    希望书中有类似:

    • 要想做个表格,要先画 table,然后设置监听 actionListener
    • query 太慢了要做 pagination
    • 做登录的时候后端密码不存原文,要加盐

    之类的“best practice in general"

    不太需要类似

    • 要加一个表格,可以考虑使用<table>, <tr>标签
    • 要获取数据,那么需要建立一个 function,带着某个 annotation,然后和 Server 连起来
    • 验证密码的时候使用 SHA256 这个 hash function,然后先 import,再 new 一个实例,最后 call isEqual() 比较一下

    之类的具体 /api facing 的东西

    对于 UI 组件 我会去看谷歌的官方 doc

    对于通用的 App 开发知识,v 友们有推荐的书吗?

    10 replies    2021-02-09 14:02:51 +08:00
    Ariver
        1
    Ariver  
       Feb 9, 2021 via iPhone
    我也想找一本类似这样的
    Elethom
        2
    Elethom  
       Feb 9, 2021 via iPhone
    每次刚接触新东西的时候也想要有这样的资料,后来发现还是多看成熟项目的源码择善而从最好,因为根本没人写这样的资料。
    xiangyuecn
        3
    xiangyuecn  
       Feb 9, 2021
    你这个想法是把一本能写 200 页的书 活生生变成了 10 页🙄
    HeapOverflow
        4
    HeapOverflow  
       Feb 9, 2021
    如果是全新的项目,用 flutter 可能比较简单
    WangHL
        5
    WangHL  
       Feb 9, 2021
    UI 绘制和事件监听可以参考官方文档中核心主题部分 [https://developer.android.google.cn/guide] ;最佳实践可以参考阿里巴巴 Android 开发手册 [https://edu.aliyun.com/course/813] ,概述中有 pdf 下载链接,遵守规范中的 [强制] 可以避免很多坑;
    Renco
        6
    Renco  
       Feb 9, 2021
    flutter +1
    MozzieW
        7
    MozzieW  
       Feb 9, 2021
    我本想说没有这样的书, 然后想了自己看的书, 有的话应该是<App 研发录:架构设计、Crash 分析和竞品技术分析>(从订单历史找的). 但发现可能也不太合适, 原因和我觉得没有这种书一样: 落后.
    Android 现在是一个既成熟又年轻的状态. 你可以用过去十年的技术和经验继续构建, 但是这些技术都在慢慢被淘汰. 就连 Java, 逐渐都是 Kotlin.
    鉴于题主是后端的, 我觉得拿网络处理来做说明比较容易理解. UI 的开发正常只有一个线程能更新 UI(一般叫主线程, 具体的细节差异忽略). Android 一开始是可以在主线程请求网络的, 这样就导致网络请求时整个页面都停止响应了. 所以网络请求被禁止在主线程调用. 然后就出现了网络请求的封装. 大概带你是这样的:
    ~~~
    New Thread(Runnable(){
    MozzieW
        8
    MozzieW  
       Feb 9, 2021
    没打完发出去了...
    我本想说没有这样的书, 然后想了自己看的书, 有的话应该是<App 研发录:架构设计、Crash 分析和竞品技术分析>(从订单历史找的). 但发现可能也不太合适, 原因和我觉得没有这种书一样: 落后.
    Android 现在是一个既成熟又年轻的状态. 你可以用过去十年的技术和经验继续构建, 但是这些技术都在慢慢被淘汰. 就连 Java, 逐渐都是 Kotlin.
    鉴于题主是后端的, 我觉得拿网络处理来做说明比较容易理解. UI 的开发正常只有一个线程能更新 UI(一般叫主线程, 具体的细节差异忽略). Android 一开始是可以在主线程请求网络的, 这样就导致网络请求时整个页面都停止响应了. 所以网络请求被禁止在主线程调用. 然后就出现了网络请求的封装. 大概带你是这样的:
    ~~~
    New Thread(Runnable(){
    result = 网络请求()
    handler.post(result);// 返回主线程继续
    });
    ~~~
    这种封装第一个问题是每次请求都要新建线程, 很简单, 用线程池解决. 第二个是里面的 handler 持有了当前页面指针, 可能导致内存泄漏. 所以当时很多文章也介绍怎么避免这个问题(handler 不仅仅网络使用, 所以问题还是挺普遍的).
    这种经验还有用吗? 如果你用上现在的 Retrofit 库, 你发现这些问题都没有了, 而且用起来还贼简单. 真有人写书还给你介绍这个, 估计你都觉得作者骗钱的. 但是的确还有些新人抄代码抄到这种东西. 可能我还觉得自己年轻, 觉得这种东西也是不久前才看过. 比如我上面说的书, 里面说 ListView 也是被淘汰了, 现在就算你用 RecyclerView 不自己写一个 BaseAdapter 都不好意思给人看.
    感觉都是自言自语, 说个还是自己觉得有用的建议: 找一个还在维护的高仿项目, 看一下网络请求处理, 设计(什么 MVVM, MVP 的随缘), 经典的 iOS 底部 tab 样式实现, 列表页面, 详情页面实现就可以了. 如果了要做的功能, 直接搜'高仿 xxx',基本出来的就是最佳实践. 毕竟万一运气不好, 搭环境估计都得花好几天.
    LxExExl
        9
    LxExExl  
    OP
       Feb 9, 2021
    @xiangyuecn #3 200 页的也可以啊 hhh


    @HeapOverflow #4
    @Renco #6
    工作方面这个项目看看已有代码,网上找找例子几天就能弄完了。用新语言新框架不现实,而且舍近求远,有点浪费时间 (目标是短平快做完需求,回到后端的主线任务上) 工期两周,我觉得不到一周就能做完了,想剩下的时间趁机买买书,报销一下,然后学点以后不管什么编程语言都能用到的知识。



    @WangHL #5 谷歌的文档一直在看 对添砖加瓦足够了
    阿里那个更像是针对 Android 开发的一些语言规范,对我来说”太深了”,近期和长期都用不上。


    我是想找一本类似“clean code”的书,而不是“c++ premier",或者”c 语言程序设计现代方法"
    来了解一下”现在想快速开发一个手机 App,语言无关的情况下,分几个模块,有哪些需要注意的,和编程语言无关“


    @MozzieW #8 对 这种经验确实只适合面试挑刺了。好像这种书确实不好写,写完了可能就被新技术覆盖了,也许找 medium 之类的博客看看更好,只是很难找到系统的
    zxCoder
        10
    zxCoder  
       Feb 9, 2021
    没有
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3134 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 61ms · UTC 14:15 · PVG 22:15 · LAX 07:15 · JFK 10:15
    ♥ Do have faith in what you're doing.