精华内容
下载资源
问答
  • Framework层(应用框架层
    千次阅读
    2017-08-06 17:01:39

    什么是Framework

    Framework层为我们开发应用程序提供了非常多的API,我们通过调用特殊的API构造我们的APP,满足我们业务上的需求。写APP的人都知道,学习Android开发的第一步就是去学习各种各样的API,什么Activity,Service,Notification等。这些都是framework提供给我们的,那么我就详细的讲讲Framework到底在整个Android架构中扮演着什么角色。

    Framework功能

    Framework其实可以简单的理解为一些API的库房,android开发人员将一些基本功能实现,通过接口提供给上层调用,可以重复的调用
    我们可以称Framework层才真正是Java语言实现的层,在这层里定义的API都是用Java语言编写。但是又因为它包含了JNI的方法,JNI用C/C++编写接口,根据函数表查询调用核心库层里的底层方法,最终访问到Linux内核。那么Framework层的作用就有2个。
    1.用Java语言编写一些规范化的模块封装成框架,供APP层开发者调用开发出具有特殊业务的手机应用。
    2.用Java Native Interface调用core lib层的本地方法,JNI的库是在Dalvik虚拟机启动时加载进去的,Dalvik会直接去寻址这个JNI方法,然后去调用。
    2种方式的结合达到了Java方法和操作系统的相互通信。Android为什么要用Java编写Framework层呢?直接用C或C++不是更好?有关专家给出了如下解释:
    C/C++过于底层,开发者要花很多的经历对C/C++的语言研究清楚,例如C/C++的内存机制,如果稍不注意,就会忘了开启或者释放。而Java的GC会自动处理这些,省去了很多的时间让开发者专注于自己的业务。所以才会从C/C++的底层慢慢向上变成了JAVA的开发语言,该层通过JNI和核心运行库层进行交互。
    其实这些也是Java能发展这么迅速的原因,面对对象语言的优势。不用太关注内存,放心大胆的去做实现,才有时间去创造新的事物。

    更多相关内容
  •  应用层(Java Application),包括了Android各种应用程序  应用框架层(Java Frameworks),是Google发布的核心应用所使用的API框架  系统运行库层(User Libraries),包含了手机系统平台必须的C/C++核心库、...

    1. Android手机操作系统是一个基于Linux Kernel的分层智能手机操作系统,其共分为4层,从上到下分别是:

     应用层(Java Application),包括了Android各种应用程序

     应用框架层(Java Frameworks),是Google发布的核心应用所使用的API框架

     系统运行库层(User Libraries),包含了手机系统平台必须的C/C++核心库、Dalvik虚拟机运行环境和HAL子层

     核心层(Linux Kernel),Android 4.0 基于Linux Kernel 3.0.8 提供核心系统服务,例如文件管理、内存管理、进程管理、网络堆栈、驱动模型等操作系统的基本服务能力

     

     

     

    展开全文
  • 首先为了理解安卓系统是怎么工作的,就先来看一下android的系统架构,其架构大至可以分为四层:linux内核层、系统运行库层、应用框架层应用层,那就先说说这几层。 1.linux内核层: Android系统是基于Linux内核...

    首先为了理解安卓系统是怎么工作的,就先来看一下android的系统架构,其架构大至可以分为四层:linux内核层、系统运行库层、应用框架层和应用层,那就先说说这几层。

    1.linux内核层:

    Android系统是基于Linux内核的,这一层为Android设备的各种硬件提供了底层的驱动(如显示,音频,照相机,蓝牙,WI-FI,电源管理等等),那么Android为什么会选择采用linux呢?原因与Linux的特性有关,内核作为一个抽象层存在硬件和软件之间,强大的内存管理和进程管理,基于权限的安全模式,支持共享库,经过认证的驱动模式,Linux本身就是开源项目等等。
    但同时Android对于Linux进行了改动,比如它没有glibc,最初用于一些便携的移动设备并没有采用glibc作为c库,而是goolge自己开发的Bionic Libc来作为代替品,也并没有完全照搬Linux系统的内核还增加了Gold-Fish平台以及yaffs2 Flash文件系统,而且它没有了本地基于x服务的窗口系统即Android并没有使用Linux的x窗口,同时还对驱动程序进行了增强显示驱动、键盘驱动、Flash内存驱动、照相机驱动、音频驱动、蓝牙驱动、WiFi驱动、Binder IPC驱动、Power Management(电源管理),包括硬件时钟,内存分配和共享,低内存管理,kernel调试,日志设备,android IPC机制,电源管理等。

    1. Binder IPC驱动:基于OpenBinder框架的一个驱动,用于提供 Android平台的进程间通信功能。源代码位于drivers/staging/android/binder.c

    2. 电源管理(PM) :一个基于标准Linux电源管理系统的轻量级Android电源管理驱动,针对嵌入式设备做了很多优化,比如电池电量。源代码位于:kernel/power/earlysuspend.c、kernel/power/consoleearlysuspend.c、kernel/power/fbearlysuspend.c、kernel/power/wakelock.c、kernel/power/userwakelock.c

    3. 低内存管理器:比Linux的标准的OOM机制更加灵活,它可以根据需要杀死进程以释放需要的内存。源代码位于 drivers/staging/ android/lowmemorykiller.c

    4. 匿名共享内存: 为进程间提供大块共享内存,同时为内核提供回收和管理这个内存的机制。源代码位于mm/ashmem.c

    5. PMEM :用于向用户空间提供连续的物理内存区域,DSP和某些设备只能工作在连续的物理内存上。源代码位于drivers/misc/pmem.c。

    6. Logger :一个轻量级的日志设备,用于抓取Android系统的各种日志。源代码位于drivers/staging/android/logger.c。

    7. Alarm :提供了一个定时器,用于把设备从睡眠状态唤醒,同时它还提供了一个即使在设备睡眠时也会 运行的时钟基准。源代码位于drivers/rtc/alarm.c

    8. USB Gadget:驱动 一个基于标准 Linux USB gadget驱动框架的设备驱动,Android的USB驱动是基于gaeget框 架的。源代码位于drivers/usb/gadget/

    9. Ram Console: 为了提供调试功能,Android允许将调试日志信息写入一个被称为RAM Console的设备里,它是一个基于RAM的Buffer。源代码位于drivers/staging/android / ram_console.c

    10. timed device: 提供了对设备进行定时控制的功能,目前支持vibrator和LED设备。源代码位于drivers/staging/android /timed_output.c(timed_gpio.c)。

    11. Yaffs2 :是文件系统 Android采用Yaffs2作为MTD nand flash文件系统,源代码位于fs/yaffs2/目录下。Yaffs2是一个快速稳定的应用于NAND和NOR Flash的跨平台的嵌入式设备文件系统,同其他Flash文件系统相比,Yaffs2能使用更小的内存来保存其运行状态,因此它占用内存小。Yaffs2的垃圾回收非常简单而且快速,因此能表现出更好的性能。Yaffs2在大容量的NAND Flash上的性能表现尤为突出,非常适合大容量的Flash存储。

    那么为什么不自己开发一个内核而是使用Linux内核,这个牵扯到很多尽量描述一下,首先当时有了开源的Linux为什么还要在自己去开发内核,android的本质是一个基于Linux上运行的java虚拟机,Google只用了kernel所以只有系统的底层结构是一样的其他的东西在Android里都是不一样的尤其是编程接口,所以Android距离Linux比MAC OS距离Linux还要远。android是被google收购的,原来的小团队没有时间和精力去研发所以使用了上面说的开源的Linux(免费还免维护费),同时因为google是一个互联网公司,google是靠服务来盈利不像Apple是设备商依靠软件给设备服务,所以google是一个纯粹的软件提供者,为了让硬件厂商能够合作需要从硬件的角度思考问题(硬件厂商更愿意再有一定把握的平台进行开发),同时google也有比较好的对应措施去弥补Linux操作系统的一些缺点,从技术上失去了一些动力。

    关于内核的作用简单说就是提供了进程管理、文件网络管理、系统安全权限管理、以及系统与硬件设备通讯基础。而在无论Android还是iOS这类高度依赖框架的多层次操作系统上,内核对上层开发者来说是几乎不可见的,只能通过开放给你的框架接口进行相关操作。因此可以说内核对整个系统来说是基础性的,而非功能性。就整个Android工程来说主体交互、功能框架才是重中之重。再说说开发内核到底有多大好处,或者说性价比有多高的问题。作为整套系统的基础,内核的高效稳定可以说是重重之重,而任何一款软件的开发都要经历迭代过程,微软开发NT内核耗费大量资金与时间,而且至今还在不断改进与维护正是对此种迭代的最佳例证。而即使如此,经过将近十年的开发与维护,NT内核之效率与功能性仍弱于Linux。由于Linux的开源特性,大量个人与企业对其进行持续不断的维护与改进是Linux始终保持领先的重要原因,而微软以其一己之力自不能与其媲美。这实际上是告诉大家在已有开源Linux的前提下,自己开发系统内核实际上是一件吃力不讨好的事。因此使用来源Linux自然是省时省力省钱又保险的选择。另外值得一提的是苹果自主研发内核实际上是不准确的iOS与OSX其实都是基于UNIX内核。

    2.系统运行库层:

    通过一些c/c++库来为Android提供主要的特性支持,如SQLite提供了数据库的支持,OpenGL|ES库提供了3D绘图的支持,WebKit库提供了浏览器内核的支持等等。同时在这一层的还有Android运行时库提供了一些核心库,能够允许开发者使用JAVA语言来编写Android应用。还包含了虚拟机Dalvik但之后改为了ART运行环境,使每一个Android应用都有自己的进程,并且都有一个自己的Dalvik虚拟机实例,相较于JAVA的虚拟机Dalvik是专门为移动设备定制的,针对内存和CPU性能都有了优化。
    所以Android的系统运行库包含两部分,一个是系统库,另一个是运行时,Android系统的各个组件都在使用c/c++库,这些功能是通过Android应用框架暴露给开发人员的,系统库是应用程序框架的支撑,是连接应用程序框架层与Linux内核层的重要纽带,在程序运行时中执行其运行时分为核心库和Dalvik虚拟机两部分。

    系统库(九个):
    1、Libc:系统c库,是从BSD继承来的标准C系统函数库,专门为基于EmbeddedLinux的设备定制。
    2、Media Framework(多媒体库):Android系统多媒体库,基于PacketVideoOpenCORE。该库支持录放.并且可以录制许多流行的音频视频格式.还有静态映像文件,包括MPEG4、H.264、MP3、AAC、JPG、PNG等。
    3、Surface Manager:主要负责管理针对显示系统的访问,并且为多个应用程序提供2D和3D图层的无缝融合。
    4、Webkit:浏览器。一个最新的web浏览器引擎,用来支持Android浏览器和一个可嵌入的Web视图。
    5、SGL:一个内置的2D图形引擎。
    6、SSL:位于TCP/IP与各种应用层协议之间为数据通信提供支持。
    7、OpenGL ES:3D效果的支持。基于OpenGLES 1.0 APIs实现;该库可以使用硬件3D加速或者使用高度优化的3D软加速。
    8、greeType:提供位图bitmap和向量vector的字体描述与显示。
    9、SQLite:一个对于所有应用程序可用、功能强劲的轻型关系型数据库引擎

    除了之上的主要系统类库之外,还有Android NDK,即Android原生库。NDK为开发者提供了直接使用Android系统资源,并采用C 或C++语言编写程序的接口。因此,第三方应用程序可以不依赖于Dalvik虚拟机进行开发。NDK提供了一系列从C或C++生成原生代码所需要的工具,为开发者快速开发 C 或 C++的动态库提供方便,并能自动将生成的动态库和Java 应用程序一起打包成应用程序包文件,即.apk文件。
    注意,使用原生库无法访问应用框架层API,兼容性可能无法保障。而且从安全性角度考虑,Android原生库用非类型安全的程序语言C/C++编写,更容易产生安全漏洞,原生库的缺陷也可能更容易直接影响应用程序的安全性。

    Android运行时:

    1、核心库:提供了Java语言API中的大多数功能,同时也包含Android的一些核心API.如android.OSandroid.netandroid.media等。

    2、Dalvik虚拟机:Android程序不同于J2ME程序(是java的一种运行环境),每个Android应用都运行在自己的进程上,享有Dalvik虚拟机为它分配的专有实例,并在该实例中执行。Dalvik虚拟机是一种基于寄存器的Java虚拟机,而不是传统的基于栈的虚拟机,并进行了内存资源使用的优化以及支持多个虚拟机的特点。设计成在一个设备可以高效地运行多个虚拟机。Dalvik虚拟机可执行文件格式是(.dex),dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。 大多数虚拟机包括JVM都是基于栈的,而Dalvik虚拟机则是基于寄存器的,所有的类都经由JAVA编译器编译,然后通过SDK中 的 “dx” 工具转化成.dex格式由虚拟机执行。Java编译器将Java源文件转为class文件,class文件又被内置的dx(具有转化为dex格式文件,该格式文件针对最小内存使用做了优化,这种文件在Dalvik虚拟机上注册并运行)。在一些底层功能方面,例如线程和低内存管理等.Dalvik虚拟机是依赖Linux内核的。
    Dalvik虚拟机是基于Apache的Java虚拟机,并被改进以适应低内存、低处理器速度的移动设备环境。Dalvik虚拟机依赖于Linux内核,实现进程隔离与线程调度管理、安全和异常管理、垃圾回收等重要功能。但Dalvik虚拟机并非传统意义上的Java虚拟机(JVM)。Dalvik虚拟机不仅不按照Java虚拟机的规范来实现而且两者不兼容。

    Dalvik和标准Java虚拟机有以下主要区别:
    (1)Dalvik基于寄存器,而JVM基于栈。一般认为,基于寄存器的实现虽然更多依赖于具体的CPU结构,硬件通用性稍差,但其使用等长指令,在效率速度上较传统JVM更有优势。
    (2)Dalvik经过优化,允许在有限的内存中同时高效地运行多个虚拟机的实例,并且每一个Dalvik应用作为一个独立的Linux进程执行,都拥有一个独立的Dalvik虚拟机实例。Android这种基于Linux的进程“沙箱”机制,是整个安全设计的基础之一。
    (3)Dalvik虚拟机从DEXDalvik Executable)格式的文件中读取指令与数据,进行解释运行。DEX文件由传统的、编译产生的CLASS文件,经dx工具软件处理后生成。
    (4 )Dalvik的DEX文件还可以进一步优化提高运行性能。OEM的应用程序可以在系统编译后,直接生成优化文件(.ODEX文件),第三方的应用程序则可在运行时在缓存中优化与保存,优化后的格式为DEY(.dey文件)。

    3.应用框架层:

    这一层主要提供了构建应用程序时可能用到的各种API,Android自带的一些核心应用就是使用这些API完成的。那什么是应用程序框架层,可以说是一个应用程序的核心,是一个共同使用和遵守的约定然后在这个约定上共同扩展,但程序保持主体结构的一致,其作用的是让程序保持清晰在满足不同需求的同时又不互相影响。而对于Android来提供给应用开发者的本身就是一个框架,所有的应用开发都必须遵守这个框架的原则,同时在这个基础上进行扩展可以访问核心应用程序所使用的API框架(即要实现某个功能就调用安卓系统自己提供的功能,如果不想调用就可以通过继承实现个性化扩展),安卓的应用框架提供开发Android应用程序所需的一系列类库采用重用机制,开发人员可以进行快速的应用程序开发方便高效的使用安桌平台本身的组件或者替换平台本身的各种应用程序组件。

    该框架包含:活动管理器、窗口管理器、内容提供者、视图系统、包管理器、电话管理器、资源管理器、位置管理器、通知管理器、XMPP服务。

    活动管理器:管理各个应用程序的生命周期以及通常的导航回退功能。作用:负责一新ActivityThread进程创建,Activity生命周期的维护。其自身也存在一个框架,本文就不再讨论,有兴趣的可以看一看。

    窗口管理器:管理所有的窗口程序,在安卓应用框架中窗口主要分为两种:
    (一)是应用窗口(一个activity有一个主窗口,弹出的对话框也有一个窗口,Menu菜单也是一个窗口。在同一个activity中,主窗口、对话框、Menu窗口之间通过该activity关联起来)。
    (二)是公共界面的窗口(系统级别的窗口如:最近运行对话框、关机对话框、状态栏下拉栏、锁屏界面等)窗口管理系统是基于C/S模式的。整个窗口系统分为服务端和客户端两大部分,客户端负责请求创建窗口和使用窗口,服务端完成窗口的维护,窗口显示等。

    内容提供器:使得不同应用程序之间存取或者分享数据。就是可以配置自己的Content Provider去存取其他的应用程序或者通过其他应用程序暴露的Content Provider去存取它们的数据,总的来说就是提供了一个数据共享机制。

    视图系统:构建应用程序的基本组就是文本框、按钮等。

    通告管理器:使得应用程序可以在状态栏显示自定义的提示信息,通过NotificationManager 、 Notification这两个类可以完成在状态栏显示提示的信息。

    包管理器:安卓系统内的程序管理,Package Manger是一个实际上管理应用程序安装、卸载和升级的API。当我们安装APK文件时,Package Manager会解析APK包文件和显示确认信息。

    电话管理器:管理所有的移动设备 用于管理手机通话状态、获取电话信息(设备、sim卡、网络信息),监听电话状态以及调用电话拨号器拨打电话。

    资源管理器:提供应用程序使用的各种非代码资源。提供应用程序使用的各种非代码资源,如本地化字符串、图片、布局文件、颜色文件等

    位置管理器:提供位置服务,LocationManager系统服务是位置服务的核心组件,它提供了一系列方法来处理与位置相关的问题,包括查询上一个已知位置、注册和注销来自某个。LocationProvider的周期性的位置更新、注册和注销接近某个坐标时对一个已定义的Intent的触发等。总的来说就是提供有关位置的操作。

    XMPP服务:例如提供Google Talk 服务,XMPP(Extensible Messageing and Presence Protocol:可扩展消息与存在协议):是一种即时消息协议用于信息的传输。是一种基于XML的开放式实时通信协议,XMPP是基于服务器的也是分散式的

    4.应用层

    所有安装在手机上的应用程序都是这个层,比如手机自带的程序或者下载的游戏等等。

    展开全文
  • 控制台程序使用ABP框架应用层服务

    千次阅读 2018-12-12 21:17:39
    控制台程序使用ABP框架应用层服务1.生产ABP框架基础服务,如下图所示2.新建一个控制台程序,添加对Application项目引用。3.新建一个模块类4.通过IOC调用应用层或领域服务方法 1.生产ABP框架基础服务,如下图所示 ...

    1.生产ABP框架基础服务,如下图所示

    ABP框架基础

    2.新建一个控制台程序,添加对Application项目引用。

    控制台程序

    3.新建一个模块类

    using Abp.Events.Bus;
    using Abp.Modules;
    using Abp.Reflection.Extensions;
    using Castle.MicroKernel.Registration;
    using com.f1bpm.Configuration;
    using com.f1bpm.EntityFrameworkCore;
    using Microsoft.Extensions.Configuration;
    
    namespace com.f1bpm.Jobs
    {
        [DependsOn(typeof(f1bpmApplicationModule))]
        [DependsOn(typeof(f1bpmEntityFrameworkModule))]
        public class MyConsoleAppModule : AbpModule
        {
            private readonly IConfigurationRoot _appConfiguration;
    
            public MyConsoleAppModule(f1bpmEntityFrameworkModule abpProjectNameEntityFrameworkModule)
            {
                abpProjectNameEntityFrameworkModule.SkipDbSeed = true;
                _appConfiguration = AppConfigurations.Get(
                    typeof(MyConsoleAppModule).GetAssembly().GetDirectoryPathOrNull()
                );
            }
    
            public override void PreInitialize()
            {
                Configuration.DefaultNameOrConnectionString = _appConfiguration.GetConnectionString(
                    f1bpmConsts.ConnectionStringName
                );
    
                Configuration.BackgroundJobs.IsJobExecutionEnabled = false;
                Configuration.ReplaceService(
                    typeof(IEventBus),
                    () => IocManager.IocContainer.Register(
                        Component.For<IEventBus>().Instance(NullEventBus.Instance)
                    )
                );
            }
    
            public override void Initialize()
            {
                IocManager.RegisterAssemblyByConvention(typeof(MyConsoleAppModule).GetAssembly());
            }
        }
    }
    

    4.通过IOC调用应用层或领域层服务方法

     using (var bootstrapper = AbpBootstrapper.Create<MyConsoleAppModule>())
                {
                    bootstrapper.IocManager.IocContainer
                        .AddFacility<LoggingFacility>(
                            f => f.UseAbpLog4Net().WithConfig("log4net.config")
                        );
    
                    bootstrapper.Initialize();
    
                    using (var caller = bootstrapper.IocManager.ResolveAsDisposable<EngineManager>())
                    {
                        caller.Object.NewStart(jsondata);
                    }
                }
    
    展开全文
  • 搭建一个应用程序框架-做点什么

    千次阅读 2015-05-23 07:28:11
    以前只做过模块功能的开发,在开源项目或者别人搭建的项目框架下敲码。突然让我来搭建一个app的框架,竟然不知道如何下手了!郁闷,好吧先从网上收集了一些资料看看。好吧,拿来主义一篇来自csdn的博客 1、一些概念...
  • Android系统框架结构

    千次阅读 2019-02-22 15:26:28
    Andrid系统的体系结构设计为多层结构,...一、应用层 Applications:应用层由运行在Android设备上的所有应用构成,包括预装的系统应用和自己安装的第三方应用。大部分是由Java语言编写并运行在Dalvik虚拟机中,另一...
  • 程序的开发框架——MINA框架

    千次阅读 2018-11-06 21:41:09
    程序MINA框架分为三个部分:有 View(视图层)、App Service(逻辑)和 Natice(系统)。  1.View(视图层)中包含了小程序多个页面、每个页面都有WXML文件和 WXSS文件,是搭建页面视图的结构和展现样式。  2.App ...
  • 微信小程序框架介绍 微信团队为小程序提供的框架命名为MINA。MINA框架通过封装微信客户端...整个小程序框架系统分为两部分:逻辑(App Service)和 视图层(View)。小程序提供了自己的视图描述语言 WXML 和 WXSS
  • 我们分析了驱动程序Logger的源代码,在前面的文章浅谈Android系统开发中Log的使用一文,我们也简单介绍在应用程序中使Log的方法,在这篇文章中,我们将详细介绍Android应用程序框架层和系统运行库存层日志系统的源...
  • delphi三架构框架

    热门讨论 2013-01-15 01:42:42
    程序框架同时支持B/S、C/S模式,即可以通过客户端运行程序,也可以通过浏览器运行程序,并且支持两种模式同时存在。 使用插件开发模式,业务功能根据实际需要封装在不同的模块 DLL 中,即插即用; 封装了强大...
  • 同学们大家好,我是小伊同学,今天我们来学习微信小程序框架。 微信小程序实质上是一款基于web技术的应用程序,他和我们平常所接触到的前端网页是大同小异的。相同点在于他们使用的开发语言,代码结构以及代码...
  • AI:国内外人工智能产业应用图谱应用层/基础详解 目录 国内外人工智能产业应用图谱 一、应用层 1、AI+医疗 2、AI+家居 3、AI+驾驶 4、AI+零售 5、AI+城市 6、AI+教育 二、基础 1、算法:...
  • 首先为了理解安卓系统是怎么工作的,就先来看一下android的系统架构,其架构大至可以分为四层:linux内核层、系统运行库层、应用框架层应用层,那就先说说这几层。 1.linux内核层: Android系统...
  • 文章目录前言第一章 小程序架构1.1 小程序框架1.2 小程序通讯环境第二章 文件结构2.1 全局文件讲解2.2 全局文件讲解练习典例一:页面的快速新增典例二:设置窗口的标题和属性典例三:生成tabbar页面2.3 页面的文件...
  • 10大优秀的移动Web应用程序开发框架

    千次阅读 2012-01-30 10:24:16
    1.Sencha Touch FrameworkSencha Touch是世界上第一个基于HTML5的移动Web开发框架,支持最新的HTML5 和 CSS3 标准,全面兼容Android和Apple iOS设备,提供了丰富的Web UI组件,可以快速的开发出运行于移动终端的...
  • mybatis持久层框架技术

    千人学习 2019-03-09 22:40:20
    MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和...
  • 微信小程序的逻辑由js完成,视图层由微信提供的WXML(WeiXin Mark Language)和WXSS(WeiXin Style Sheet)文件来完成。 其中官方给出的解释:页面的脚本逻辑是在JsCore中运行,JsCore是一个没有窗口对象的环境,...
  • 1. Z-Wave远程协议栈体系结构 Z-Wave远程协议栈与Z-Wave协议栈类似。...在这两个较低的的基础上,Z-Wave联盟定义了网络(NWK)和应用层。 Z-Wave远程NWK负责网络的形成(即,包括/排除网络中的节点)
  • 应用程序框架 Application Framework

    千次阅读 2013-03-08 09:02:23
    要做一个应用程序框架的念头Bigtall在几年前就有了,因为在工作中发觉很多方面非常的不顺手,几乎每一个环节都存在这样或者那样的问题: 公司不同项目组做的设计是完全不同的风格,而且设计做不细,导致项目计划...
  • 微信小程序、百度小程序、支付宝小程序、头条小程序等等不断涌入我们的生活,随着小程序的火爆,各种小程序框架不断出现,也在不断更新。路漫漫,学不完呀!归根结底,都是一个目标,把小程序给制作出来,只是使用了...
  • HarmonyOS分布式应用框架深入解读

    千次阅读 2021-11-22 15:22:29
    针对上述挑战,HarmonyOS作为一款面向万物互联时代的、全新的分布式操作系统,将迎刃而解,这得益于HarmonyOS的分布式应用框架,这些多设备组成一个超级终端,充分发挥各设备能力,从而实现多设备间多端协同、跨端...
  •  随着Internet和企业级应用的不断发展,Web应用程序变得越来越复杂,而开发周期却越来越短,如何能快速构建结构良好、可扩展性强和易于维护的Web应用系统成为了开发者面临的巨大挑战,而Web应用程序框架(WAF)则是...
  • 探索嵌入式应用框架(EAF)

    千次阅读 2018-03-18 00:00:00
    EAF是Embedded Application Framework 的缩写,即嵌入式应用框架。嵌入式应用框架是 Application framework的一种, 是在嵌入式领域的应用框架。Appl...
  • 【精华】Android应用程序框架分析

    千次阅读 2013-09-19 10:48:25
    从上到下依次是APPLICATIONs(应用程序层)、APPLICATION FRAMEWORK(应用程序框架层)、LIBRARIES(ANDROID RUNTIME)(库及运行环境),以及LINUX KERNAL(Linux 内核) 1、 Linux 内核版本2.6 2、位于硬件...
  • 微信小程序框架分析

    千次阅读 2018-03-08 21:43:28
    加上JavaScript逻辑语言和json配置文件,构建起了微信小程序框架 框架页面文件 工具类文件: 框架全局文件: 2.1微信小程序目录结构介绍: 1. 框架全局文件:对于框架全局文件来说,必须放在项目的根目录中...
  • PHP已经成为最受欢迎的编程语言之一,这使得用PHP创建高质量、易维护的应用程序框架比以往受到更多的青睐。通过使用来自于知名公司的真实案例研究,《开发高质量PHP框架与应用的实际案例解析》为Web软件体系结构的...
  • Web应用框架汇总

    万次阅读 2018-03-05 14:23:17
    Web应用框架(Web application framework)是一种开发框架,用来支持动态网站、网络应用程序及网络服务的开发。其类型有基于请求的和基于组件的两种框架,Web应用框架有助于减轻网页开发时共通性活动的工作负荷,...
  • Spring简介、框架核心、优缺点、应用场景

    万次阅读 多人点赞 2019-10-29 23:34:33
    文章目录Spring简介Spring的设计目标Spring的优缺点优点缺点Spring的应用场景 ...它是一个分层的JavaSE/JavaEE full-stack(一站式)轻量级开源框架,为开发Java应用程序提供全面的基础架构支持。Sprin...
  • 微信小程序MINA框架介绍

    万次阅读 2018-12-05 16:02:43
    MINA(MINA IS NOT APP) 是在微信中开发小程序框架。 MINA的目标是通过尽可能简单、高效的方式让开发者可以在微信中开发具有原生APP体验的服务。 MINA提供了自己的视图描述语言WXML和WXSS,以及基于JavaScript...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 484,972
精华内容 193,988
关键字:

属于应用程序框架层的是