精华内容
下载资源
问答
  • 今天就简单总结一下目前的三大主流移动应用开发类型。 APP,一般认为是 mobile application,也就是移动移动应用程序。先上图 Native AppNative App是一种基于智能手机本地操作系统如iOS、Android、WP并使用原生程...

    随着H5标准的发布以及推广,使得移动应用的开发也受到了很大影响,出于效率、成本等等的原因,移动应用的开发不在完全依赖于“原生”。
    今天就简单总结一下目前的三大主流移动应用开发类型。
    APP,一般认为是 mobile application,也就是移动移动应用程序。

    先上图
    三种

    Native App

    Native App是一种基于智能手机本地操作系统如iOS、Android、WP并使用原生程式编写运行的第三方应用程序,也叫本地app。
    常用语言当然就是
    iOS :Objective-C swift
    Android :JAVA
    Windowsphone :C++

    优点:
    (1)打造完美的用户体验
    (2)性能稳定
    (3)操作速度快,上手流畅
    (4)访问本地资源(通讯录,相册)
    (5)设计出色的动效,转场,
    (6)拥有系统级别的贴心通知或提醒
    (7)用户留存率高

    缺点:
    (1)分发成本高(不同平台有不同的开发语言和界面适配)
    (2)维护成本高(例如一款App已更新至V5版本,但仍有用户在使用V2, V3, V4版本,需要更多的开发人员维护之前的版本)
    (3)更新缓慢,根据不同平台,提交–审核–上线 等等不同的流程,需要经过的流程较复杂

    Web App

    Web App,顾名思义是指基于Web的应用,基本采用Html5语言写出,不需要下载安装。类似于现在所说的轻应用。基于浏览器运行的应用,基本上可以说是触屏版的网页应用。

    优点
    (1)开发成本低,
    (2)更新快,
    (3)更新无需通知用户,不需要手动升级,
    (4)能够跨多个平台和终端。

    缺点:
    (1)临时性的入口
    (2)无法获取系统级别的通知,提醒,动效等等
    (3)用户留存率低
    (4)设计受限制诸多
    (5)体验较差

    比如我们经常使用的日历工资计算器、网页地图等等
    计算器

    还有高级一些的基于 web 的系统,其实也应该属于 web app 的范畴
    比如大名鼎鼎的 群晖 DSM 系统

    体验地址
    https://www.synology.com/zh-cn/dsm/live_demo

    DSM

    Hybrid App(混合模式移动应用)

    Hybrid APP指的是半原生半Web的混合类App,兼具“Native App良好用户交互体验的优势”和“Web App跨平台开发的优势”。
    需要下载安装,看上去类似Native App,但只有很少的UI Web View,访问的内容是 Web 。
    混合式 APP 目前有越来越火的趋势,一大原因是可以进行“热更新”,不再受限于审核、上线等等繁复的流程。

    AppStore里的电商类、新闻类APP,视频类APP普遍采取的是Native的框架,Web的内容。如淘宝、腾讯新闻等等。

    Hybrid App 极力去打造类似于Native App 的体验,但仍受限于技术,网速,等等很多因素。
    Hybrid App按网页语言与程序语言的混合,又分为四种类型:

    多View混合型

    即Native View和Web View独立展示,交替出现。
    这种应用混合逻辑相对简单。即在需要的时候,将WebView当成一个独立的View(Activity)运行起来,在WebView内完成相关的展示操作。这种移动应用主体通常是Native App,Web技术只是起到补充作用。开发难度和Native App基本相当。

    单View混合型

    即在同一个View内,同时包括Native View和Web View,互相之间是覆盖(层叠)的关系。
    这种Hybrid App的开发成本较高,开发难度较大,但是体验较好。
    如百度搜索为代表的单View混合型移动应用,既可以实现充分的灵活性,又能实现较好的用户体验。

    Web主体型

    即移动应用的主体是Web View,主要以网页语言编写,穿插Native功能的Hybrid App开发类型。
    这种类型开发的移动应用体验相对而言存在缺陷,但整体开发难度大幅降低,并且基本可以实现跨平台。
    Web主体型的移动应用用户体验的好坏,主要取决于底层中间件的交互与跨平台的能力。
    国外的appMobi、PhoneGap和国内的WeX5、AppCan和Rexsee都属于Web主体型移动应用中间件。
    其中Rexsee不支持跨平台开发。
    appMobi和PhoneGap除基础的底层能力更多是通过插件(Plugins)扩展的机制实现Hybrid。
    AppCan除了插件机制,还提供了大量的单View混合型的接口来完善和弥补Web主体型Hybrid App体验差的问题,接近Native App的体验。
    而WeX5则在揉合PhoneGap和Bootstrap等主流技术的基础上,对性能进一步做了深度优化,不但完全具备Native App对本地资源的调用能力,性能体验也不输原生;WeX5所开发出来的app具备完全的跨端运行能力,可以无需任何修改直接运行在各种前端环境上。
    从分析可见,Hybrid App中的Web主体型只要能够解决用户体验差的问题,就可以变成最佳Hybrid App解决方案类型。

    多主体共存型(灵活型)

    这是一种新型的开发模式,即支持Web主体型的应用,又支持以Native主体的应用,也支持两者混合的开发模式。
    比如kerkee框架,它具有跨平台、用户体验好、性能高、扩展性好、灵活性强、易维护、规范化、具有Debug环境、彻底解决跨域问题等特点。用户体验与Native App媲美。功能方面,开发者可随意扩展接口。

    区别和对比

    对比

    技术特性对比
    技术特性

    扩展阅读

    Hybrid App开发者一定不要错过的框架和工具
    http://mobile.51cto.com/web-460555.htm

    Hybrid App五大误区:不要为了HTML5而Hybrid
    http://mobile.51cto.com/web-433680.htm

    有没人用 ionic + AngularJS + PhoneGap开发过HybridApp?
    https://www.zhihu.com/question/23517605

    淘宝app属于hybrid app吗?
    https://www.zhihu.com/question/28469978

    展开全文
  • 除此之外,公众号和小程序新增三种连接方式 ...2、公众号模版消息可打开相关小程序 ...并且移动应用支持小程序类型分享,今天就为大家介绍此项新能力的开发文档。 新增能力:移动应用支持小程序类型分享 移

    27日晚,微信小程序正式对个人开发者开放注册。

    除此之外,公众号和小程序新增三种连接方式

    1、公众号可以把自己关联的小程序放在自定义菜单中,用户点击可直达小程序。

    2、公众号模版消息可打开相关小程序

    3、公众号关联小程序时,可选择给粉丝下发通知

    并且移动应用支持小程序类型分享,今天就为大家介绍此项新能力的开发文档。

    新增能力:移动应用支持小程序类型分享

    移动应用分享功能支持小程序类型分享,要求发起分享的App与小程序属于同一微信开放平台帐号。支持分享小程序类型消息至好友会话,不支持“分享至朋友圈”及“收藏”。

    微信客户端版本要求:6.5.6及以上微信客户端版本。为兼容旧版本客户端,若客户端版本低于6.5.6,小程序类型分享将自动转成网页类型分享。


    发送到聊天界面——WXSceneSession

    添加到微信收藏——WXSceneFavorite




    四、视频类型分享示例

    五、网页类型分享示例

    六、小程序类型分享示例

    要求发起分享的App与小程序属于同一微信开放平台帐号。

    若客户端版本低于6.5.6,小程序类型分享将自动转成网页类型分享。开发者必须填写网页链接字段,确保低版本客户端能正常打开网页链接。

    展开全文
  • ORACLE系统设计之确定应用程序类型

    千次阅读 2006-10-23 11:58:00
    在进行数据库系统的设计时,一个不可忽视的问题是弄清你所面对的应用是属于那种类型。目前流行的应用类型有:* 在线事务处理(OLTP=Online transaction Processing )应用程序* 决策支持系统(DSS=Decision Suport ...
      
    
    在进行数据库系统的设计时,一个不可忽视的问题是弄清你所面对的应用是属于那种类型。目前流行的应用类型有:
    * 在线事务处理( OLTP=Online transaction Processing )应用程序
    * 决策支持系统( DSS=Decision Suport System )应用程序
    * 多目的应用程序
     
    在线事务处理(OLTP)
    在线事务处理(OLTP=Online transaction Processing )应用程序具有 高的吞吐量,并且是Update、Insert 的密集型。如订票系统、订货系统等。在OLTP设计时,要考虑并发用户和系统性能问题,由于索引和簇会降低 Insert和Update的速度。所以用户还要避免对这两种结构的过度使用。
    对于OLTP系统,下面因素是关键:
    * 回滚段
    * 索引、簇、哈希
    * 离散事务
    * 数据块大小
    * 缓冲区缓存大小
    * 表和回滚段空间的动态分配
    * 事务处理监视和多线程服务器
    * 帮定变量的使用
    * 共享池
    * 分区
    * 优化过的SQL 语句
    * 完整性约束
    * 客户/服务器体系结构
    * 可动态改变的初始化参数
    * 流程、组件、功能
     
    决策支持系统(DSS)
    典型情况下,决策支持系统大量的信息转化为用户定义的报告。DSS对从OLTP应用程序收集的大量数据进行查询。
    决策支持系统的关键目标有三个: 1)响应时间;2)精确性;3)可用性。在设计DSS系统时,要确保大量数据的查询在合理的时间段内执行完毕。如在白天,决策者需要看报告,所以要保证在前一天晚上完成所需数据的统计。
    对于DSS的优化,下面因素至关重要:
     
    * 实体化的视图
    * 索引(B*树和位图)
    * 簇、哈希
    * 数据块大小
    * 星型查询
    * 优化程序
    * 使用查询提示
    * SQL语句中的PL/SQL功能
    * 分区
     
    多用途应用程序
    典型的OLTP和数据仓库系统的结合就是多目的应用程序。因为OLTP 应用程序收集数据,随后将数据提供给数据仓库系统。
    如果OLTP和数据仓库系统使用相同的数据库,就存在目标冲突,即可能回影响性能问题。为解决该问题。首先,OLTP数据库在收集到数据后,就将数据复制进另一个数据库中。该数据库为数据仓库所查询。如果每天只复制一次,则这种配置可能会使数据仓库应用的精确性受到轻微的折衷。但是对于两个系统的整体来说,可获得更好的性能。
     
    展开全文
  • C语言不完全类型什么?有什么用途?

    万次阅读 多人点赞 2021-05-22 12:28:28
    ISO(国际标准化组织(International Standard Organization))将C语言分为三个不同类型集合: 函数类型、对象类型和不完全类型

    目录

    1、不完全类型的概念

    2、不完全类型的用途

    3、不完全类型实践应用


    1、不完全类型的概念

    ISO(国际标准化组织(International Standard Organization))将C语言分为三个不同类型集合: 函数类型、对象类型和不完全类型,具体说明如下所示:

    • 函数类型:函数就是C语言的模块、一系列 C 语句的集合,有较强的独立性,能完成某个特定的功能,可以相互调用;
    • 对象类型:C语言的对象类型不是说面向对象编程,而是在内存中创建具有特定长度,有意义的类型,例如char、int、数组、结构体、指针等;
    • 不完全类型:不完全类型是指除了函数类型之外,大小不能被确定的类型。比如,声明了一个数组,但不给出数组的长度;声明了一个结构类型,但不给出结构体的定义,只告诉编译器这是一个结构体。在最终你还是必须得给出完整的定义,否则编译器在编译单元中都找不到不完全类型的完整定义信息的话就会报错。

    C语言所有数据类型如下图所示:

    在C99标准中对不完全类型描述如下:

    The void type comprises an empty set of values; it is an incomplete type that cannot be completed. (C99 6.2.5/19)

    An array type of unknown size is an incomplete type. It is completed, for an identifier of that type, by specifying the size in a later declaration (with internal or external linkage). A structure or union type of unknown content (as described in 6.7.2.3) is an incomplete type. It is completed, for all declarations of that type, by declaring the same structure or union tag with its defining content later in the same scope.(C99 6.2.5/22)

    总结讲,C/C++中不完全类型有三种不同形式:void、未指定长度的数组以及具有非指定内容的结构和联合。void类型与其他两种类型不同,因为它是无法完成的不完全类型,并且它用作特殊函数返回和参数类型。

    不完全类型是暂时没有完全定义好的类型,编译器不知道这种类型该占几个字节的存储空间,例如以下定义方式:

    int str[]; //不完全类型数组str定义
    
    …
    
    int str[10]; //定义str数组完整的类型信息

    再举个例子,在头*.h文件中声明结构:typedef struct __list *list_t;,最终在*.c文件中定义如下:

    struct __list {
    
        struct __list *prev;
    
        struct __list *next;
    
        viud   *data;
    
    };

    此时,结构体变量*list_t就属于不完全类型,不完全类型不包含具体的类型信息,所以在未完整定义前不能通过sizeof来获知大小,并且不完全类型定义不适合局部变量。

    2、不完全类型的用途

    不完全类型的用途主要为以下三点:

    1、提高代码灵活性。在*.h头文件中声明的数组,不清楚具体使用场景应该需要多大,在*.c中使用数组前再完整定义,就可以很方便的更改数组的大小,也不用再去修改头文件。

    2、两个结构体需要相互指向,唯一能够实现的方式就是不完全结构,如下所示:

    struct a { struct b *pb; };
    
    struct b { struct a *pa; };

    3、实现抽象模型的封装,降低程序模块之间的耦合,防止用户直接访问结构成员,破坏内部抽象数据类型。这样可以强制用户通过接口规则访问,隐藏内部实现细节,降低沟通成本。

    3、不完全类型实践应用

    举个例子,项目开发中需要用到环形缓存(一种用于表示一个固定尺寸、头尾相连的缓冲区的数据结构,适合缓存数据流),于是小伙伴将这个任务交给了你。然后你实现了ring_buffer.c,并在ring_buffer.h头文件中定义了实现功能用的数据结构和接口,初次程序设计如下所示:

    typedef struct _ring_buffer_type
    {
        uint8_t *phead;               
    
        uint8_t *ptail;                 
    
        uint8_t *pread;                
    
        uint8_t *pwrite;               
    
        size_t   size;                
    
        volatile size_t counts;          
    }rcb_t;
    
    /* 构建并初始化一个环形缓存 */
    err_t  ring_buffer_init(uint8_t *pbuffer, size_t size);
    
    
    /* 向缓存中写数据 */
    err_t  ring_buffer_write(rcb_t *const p_rcb, uint8_t *pdata, size_t len);
    
    
    /* 从缓存中读数据 */
    err_t  ring_buffer_read(rcb_t *const p_rcb, uint8_t *pdata, size_t len);
    
    
    /* 检查缓存已使用的字节数 */
    err_t  ring_buffer_check(rcb_t *const p_rcb, size_t *len);

    经过测试,功能实现很好,任务顺利完成。为了屏蔽功能实现细节你将模块封装成了库,信心十足的交给了小伙伴使用。但是你的伙伴却投来了鄙视的目光,说你的实现的功能有问题,于是你们一起检查他的代码,你发现他写了如下代码:

    ring_buffer_write(&buf_rcb, pdata, 10);
    
    buf_rcb. pwrite += 10;
    
    buf_rcb.counts += 10;

    于是你不解的质问小伙伴,为什么要动内部的数据,但小伙伴却说,往里面写入了数据,应该要修改指针啊。你认为的事,小伙伴想的却不一样。

    然后为了不让别人动你内部的数据,于是你在头文件ring_buffer.h中把结构定义改成了:

    typedef struct _ring_buffer_type rcb_t;

    并将结构的定义放在了ring_buffer.c中:

    struct _ring_buffer_type
    {
        uint8_t *phead;              
    
        uint8_t *ptail;                 
    
        uint8_t *pread;                 
    
        uint8_t *pwrite;               
    
        size_t   size;                  
    
        volatile size_t counts;         
    };

    从此之后,内部的细节都被隐藏了,封装成库之后别人再也不清楚内部的数据结构了,只能严格按照接口的要求进行调用,自然无法修改你的内部数据了。并且,以后修改内部实现也更方便了,甚至外部的接口都不需要做更改。

    从用户的角度,知道的细节越少越好,即减少了记忆的成本,也避免了一些不必要的麻烦。


    本文参考:麦克泰技术文章。

    展开全文
  • Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/)是... 以上就是python是一种什么类型的编程语言的详细内容,更多请关注php中文网其它相关文章! 本文原创发布php中文网,转载请注明出处,感谢您的尊重!
  • python属于什么类型的语言

    万次阅读 2018-07-30 20:24:54
    编译型和解释型 编译型和解释型各有利弊,随着设计技术与硬件... 编译器(Compiler):一个负责翻译的程序来对我们的源代码进行转换,生成相对应的可执行代码 可执行代码:编译之后就会直接生成一个可执行文...
  • 枚举类型什么

    万次阅读 多人点赞 2018-06-13 21:41:38
    C语言详解 - 枚举类型注:以下全部代码的执行环境为VC++ 6.0在程序中,可能需要为某些整数定义一个别名,我们可以利用预处理指令#define来完成这项工作,您的代码可能是:#define MON 1#define TUE 2#define ...
  • 1.泛型的定义:在程序中我们将一个对象放入集合中,但是集合不会记住对象的类型,当我们在次使用对象的时候,对象变为Object类型,而程序中还是原来的类型,我们必须要自己转换其类型,为了解决这个问题,则提出泛型...
  • 昨天,第九程序为大家介绍了关于移动app可分享小程序页面的ios应用文档(点击ios应用查看),今天带来的是关于Android应用开发文档,需要的请注意查收!
  • 什么是程序集?

    千次阅读 2010-04-10 14:32:00
    一、 程序集定义由.NET 编译生成的EXE文件或DLL文件就是程序集,例如:System.Data.dll。...2. 类型元数据:类型元数据是描述程序集中定义的类型的信息,由一些元数据表组成,包含 类、方法、属性、参数、返回
  • 零基础入门微信小程序开发

    万次阅读 多人点赞 2018-07-03 02:45:07
    本课程是一个系列入门教程,目标是从 0 开始带领读者上手实战,课程以微信小程序的核心概念作为主线,介绍配置文件、页面样式文件、JavaScript 的基本知识并以指南针为例对基本知识进行扩展,另外加上开发工具的安装...
  • EXE files 属于 Win64 EXE (可执行的应用程序) 文件类型类别。 WaaSMedic.exe 最初包括于 Microsoft Office Access 2010 14,发布于 07/04/2011,适用于 Windows 10 操作系统。 根据我们的记录,这是来自 Microsoft ...
  • AIF,AIFF 音频互交换文件,Silicon Graphic and Macintosh应用程序的声音格式 AIFC 压缩AIF AIM AOL即时信息传送 AIS ACDSee图形序列文件;Velvet Studio 设备文件 AKW RoboHELP的帮助工程中所有A-关键词 A...
  • 10分钟入门 - 微信小程序开发

    万次阅读 多人点赞 2019-01-09 21:33:14
    注册微信小程序 ...注册的账号类型可以是订阅号、服务号、小程序以及企业微信,我们选择 “小程序” 即可。 接着填写账号信息,需要...激活邮箱之后,选择主体类型为 “个人类型”,并按要求登记主体信息。主体信息提...
  • Android开发四大组件分别是:活动(Activity):用于表现功能。服务(Service):后台运行服务,不提供界面呈现。...1、ActivityAndroid 中,Activity 是所有程序的根本,所有程序的流程都运行在Activity ...
  • 1 动态语言和静态语言 通常我们所说的动态语言、静态语言是指动态类型语言和静态类型语言。... 2 静态类型语言:静态类型语言与动态类型语言刚好相反,它的数据类型是在编译其间检查的,也就是说在写程序
  • 解释型/编译型 ...解释型语言:程序不需要编译,程序在运行时才翻译成机器语言,每执 行一次都要翻译一次。 传统来讲效率低于编译型语言,但随着解释器的优化,非必然。 编译型语言写的程序执行之前,需...
  • 一般分为Checked异常和Runtime异常,所有RuntimeException类及其子类的实例被称为Runtime异常,不属于该范畴的异常则被称为CheckedException。 ①Checked异常 只有java语言提供了Checked异常,Java认为Checked异常...
  • 指针(指针是什么,指针和指针的类型)

    万次阅读 多人点赞 2019-04-19 18:24:57
    //这样程序会崩溃,属于C语言未定义行为 关于指针的解引用 #include #include int main(){ int n = 0x11223344; char* pc = (char*) &n; *pc = 0x55; printf("%x\n",n); system("pause"); return 0; } 结果如下图所...
  • Python语言程序设计 - 测验6: 组合数据类型 (第6周)

    万次阅读 多人点赞 2019-05-18 09:19:54
    测验6: 组合数据类型 (第6周) 第6章(第6周)测验,共10道单选题和2道编程题,限答1次、限时50分钟,答题后可看答案。 单选题 1.哪个选项是下面代码的输出结果?‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬...
  • js 几种类型的事件处理程序

    千次阅读 2012-06-04 17:50:17
    事件处理程序的名字以“on”开头,如click事件对应的事件处理程序的名称为onclick。 为事件指定处理程序的方式有多种,如:HTML事件处理程序、DMO0级事件处理程序、DOM2级事件处理程序、IE事件处理程序
  • 二十二.java程序错误类型及异常处理

    万次阅读 2012-07-12 23:46:27
    一、程序的错误类型程序设计中,无论规模是大是小,错误总是难免的。程序的设计很少有能够一次完成,没有错误的(不是指HelloWorld这样的程序,而是要实现一定的功能,具备一定实用价值的程序),在编程的过程中...
  • Oracle是什么类型的数据库

    千次阅读 2007-03-30 18:06:00
    答: 关系型数据库 什么是关系型数据库? 关系型数据库以行和列的形式存储数据,以便于用户理解。这一系列的行和列被称为表,一组表组成了数据库。用户用查询(Query)来检索数据库中的数据。一个Query是一个用于...
  • 类型系统的一些概念,众说纷纭,使用上也比较乱。有些东西,甚至不好严格定义。以下算学术界的一种相对“严格”的说法。 1. 先定义一些基础概念 Program Errors trapped errors。导致程序终止执行,如除0,Java中...
  • 通知是在方法执行前或执行后要做的动作,实际上是程序执行时要通过SpringAOP框架触发的代码段。 Spring切面可以应用五种类型的通知: before:前置通知,在一个方法执行前被调用。 after: 在方法执行之后调用的...
  • 什么是 XSS 攻击,XSS有几种类型

    千次阅读 2019-09-23 19:24:14
    什么是 XSS 攻击 XSS(Cross-Site Scripting)又称跨站脚本,XSS的重点不在于跨站点,而是在于脚本的执行。XSS是一种经常出现在 Web 应用程序中的计算机安全漏洞,是由于 Web 应用程序对用户的输入过滤不足而产生的...
  • C语言12之什么是字符串类型

    万次阅读 多人点赞 2018-03-04 15:55:08
    1.C语言的字符串类型1.1 C语言没有原生字符串类型1)很多高级语言像java、C#等就有字符串类型,有个String来表示字符串,用法和int这些很像,可以String s1 = "linux";来定义字符串类型的变量。2)C语言没有...
  • 需求说明:前后台交互时,将后台的List集合封装为json传回前端js。而集合中的实体有字段类型为java.util.Date类型。...我需要遍历json中的所有值,判断后台程序返回的json字符串中有值为Date类型 的话,将该值显示为"20
  • 程序优化

    万次阅读 2016-01-17 18:29:48
    程序优化是指利用软件开发工具对程序进行调整和改进,让程序充分利用资源,提高运行效率,缩减代码尺寸的过程。按照优化的侧重点不同,程序优化可分为运行速度优化和代码尺寸优化。 运行速度优化是指在充分掌握软...
  • 来源:水如烟 - CSDNBlog 我们知道,桌面应用程序一般有两种类型,一是Windows应用程序,二是控制台应用程序。 如何判断调用自己所在Dll的主程序是Windows还是控制台应用程序呢? 解决这个问题,基点是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 717,486
精华内容 286,994
关键字:

属于程序类型的是什么