《搜索架构之道:App中的搜索系统设计与优化实践》在今年一月初上架微信读书,2月2日偶然发现有一位读者已经把整本书读完,并在微信读书中对本书进行了评论及推荐(感兴趣的话,可自行打开微信读书,搜索“搜索架构之道”查看^L^)。
点击进入京东查看《搜索架构之道:App中的搜索系统设计与优化实践》
点击进入当当查看《搜索架构之道:App中的搜索系统设计与优化实践》
趁着这假期还有些时间,把微信读书中这本书中的热门划线整理了一下,在这里分享给大家,整体上会分为13篇(每一章中的热门划线对应着一篇,每个热门划线会增加我对该热门划线的注解),本篇的内容为本书的第五章中的热门划线,内容与网页功能扩展有关,重点在于多业务场景中网页功能的扩展与技术架构支持,更多的热门划线,请到微信读书中,搜索“搜索架构之道”查看。
一本书的故事《搜索架构之道》-微信读书中的热门划线(第一章)
一本书的故事《搜索架构之道》-微信读书中的热门划线(第二章)
一本书的故事《搜索架构之道》-微信读书中的热门划线(第三章)
一本书的故事《搜索架构之道》-微信读书中的热门划线(第四章)
一本书的故事《搜索架构之道》-微信读书中的热门划线(第五章)
一本书的故事《搜索架构之道》-微信读书中的热门划线(第六章)
一本书的故事《搜索架构之道》-微信读书中的热门划线(第七章)
一本书的故事《搜索架构之道》-微信读书中的热门划线(第八章)
一本书的故事《搜索架构之道》-微信读书中的热门划线(第九章)
一本书的故事《搜索架构之道》-微信读书中的热门划线(第十章)
一本书的故事《搜索架构之道》-微信读书中的热门划线(第十一章)
一本书的故事《搜索架构之道》-微信读书中的热门划线(第十二章)
一本书的故事《搜索架构之道》-微信读书中的热门划线(第十三章)
01.在App的内部,当浏览内核加载一 个页面时,会发起加载一个新请求 的事件,NA功能接收到事件后, 先对将要发起的URL进行分析,确定是否将本次的页面加载请求交给浏览内核执行,一旦本次需要加载的URL是客户端需要处理的URL 类型,则通知浏览内核停止本次加载,并将本次页面加载的URL交给客户端,由NA的代码来实现。
注解:典型的网页功能与NA功能的通路,不同平台的webview API均有支持,常见于自定义的URL扩展,通用URL扩展,或者页面加载Block。

02.Custom URL scheme通路:Custom URL schemen通常见于NA功能响应网页调用、在NA功能中接收URL开始加载的事件、分析URL是否为App可响应的Custom URLscheme,解析URL中的参数 (具体的指令在App内执行),比 如内部调用登录模块、进入设置中心、外部调起发起搜索等。
注解:Custom URL scheme通路,常用于网页调用NA功能,或App调起另一个App。通过URL传递信息,通常包含模块信息,模块参数,公共参数等。模块参数由模块内解析,公共参数由App解析,这样可以具备较好的扩展性。

03.JS通路:JS通路的实现方式包括JS 注入网页、实时执行JS及JS消息分发3种,JS是浏览内核支持的标准语言,可以直接与网页进行交互, 具备较好的灵活性及多平台通用性。
注解:JS注入到网页中,网页可使用注入的JS。实时执行JS可实时与网页进行通信。JS消息分发支持双向通信,这三种方式不同平台中均有API支持。

04.网络通路:网络通路借助于网络 请求相关API及接管浏览内核的网络请求,实现了浏览内核和NA功能中发出的网络请求的统一管理,在网络层面产生的数据NA功能及网页功能均可以复用。
注解:网络通路相当于网页加载过程的网络请求接管,可自定义优化扩展,同时还可实现浏览内核与NA功能的网络统一管理,数据互通。在浏览网页时可以实现网络层面的优化,同时产生的数据可以复用共享。

05.要实现功能扩展在不同网页场景中 的复用,需要将功能扩展与网页场 景解耦,并确保其具有较好的独立性,这要求具备以下3个条件。
注解:在App中扩展的网页功能,通常会有多个,这些功能扩展与网页解耦,可提升网页场景的整体复用,及整体的研发效率。但是这些功能扩展需要具备1)所属关系明确、2)调用关系明确、3)能力边界明确,这三个条件。

06.功能插件的生命周期由插件管理模 块来实现,插件管理模块由网页场景创建,它与网页场景是一对一的关系。
注解:当功能扩展按照统一的标准设计及管理(将其抽象为插件,由插件管理模块管理),因与页面场景关系明确,可以按需与不同的场景进行绑定(比如结果页与落地页中的功能扩展就是不同的),插件的研发过程,相互的影响也会降低。

如您对这本书感兴趣,下面为这本书的详细信息。

被折叠的 条评论
为什么被折叠?



