对于那些对Ionic应用程序开发完全陌生的人来说,了解项目背后的核心理念,概念和工具可能会有所帮助。下面介绍Ionic Framework的基础知识。

  UI组件

  Ionic Framework是一个UI组件库,它是可重用的元素,用作应用程序的构建块。Ionic组件是用网络标准使用HTML,CSS和JavaScript。虽然这些组件是预先构建的,但它们是从头开始设计的,可以高度自定义,因此应用程序可以将每个组件都自己制作,从而使每个应用程序都拥有自己的外观和感觉。更具体地说,Ionic组件可以轻松地主题化,以在整个应用程序中全局更改外观。

  平台连续性

  平台连续性是Ionic Framework的内置功能,允许应用程序开发人员在多个平台上使用相同的代码库。每个Ionic组件都会将其外观调整为运行应用程序的平台。例如,IOS设备(如iPhone和iPad)使用Apple自己的iOS设计语言。同样,Android设备使用Google的设计语言Material Design。
通过在平台之间进行细微的设计更改,用户可以获得熟悉的应用体验。从IOS的App Store下载的Ionic应用程序将获得iOS主题,而从Android Play商店下载的Ionic应用程序将获得Material Design主题。对于从浏览器中被视为渐进式Web应用程序(PWA)的应用程序,Ionic将默认使用Material Design主题。此外,决定在某些场景中使用哪个平台是完全可配置的。

  导航

  传统的网络应用程序使用线性历史记录,这意味着用户可以向前导航到某个页面,并可以点击后退按钮进行导航。这方面的一个例子是点击百度,用户在浏览器的线性历史堆栈上前进和后退。
相比之下,移动应用程序通常使用并行的“非线性”导航。例如,选项卡式界面可以为每个选项卡分别设置导航堆栈,确保用户在导航和切换选项卡时不会失去位置。
Ionic应用程序采用这种移动导航方法,支持也可以嵌套的并行导航历史,同时保持Web开发人员熟悉的浏览器式导航概念。
对于使用Angular构建的应用程序@ionic/angular,建议使用Angular Router,用于每个新的Ionic 4 Angular应用程序。Ionic的早期版本附带我们自己的定制路由器,但为了提供最佳的工具和开发人员体验,我们已经转向使用框架推荐的路由器。

  本机访问

  使用网络技术构建的应用程序(例如Ionic应用程序)的一个惊人功能是它几乎可以在任何平台上运行:台式电脑,手机,平板电脑,汽车,冰箱等等!Ionic应用程序的相同代码库可以在许多平台上运行,因为它基于Web标准和跨这些平台共享的通用API。
Ionic最常见的用例之一是构建一个可以从App Store和Play Store下载的应用程序。iOS和Android软件开发工具包(SDK)均提供“Webview“它可以渲染任何Ionic应用程序,同时仍允许完整的 Native SDK访问。
像Capacitor和Cordova这样的项目通常用于为Ionic应用程序提供对Native SDK的访问权限。这意味着开发人员可以使用常见的Web开发工具快速构建应用程序,并且仍然可以访问本机功能,例如设备的加速计,摄像头,GPS等。

  主题化

  在Ionic核心,Ionic Framework的样式是使用CSS构建的,它允许我们利用CSS属性(变量)提供的灵活性。这使得设计一个看起来很棒的应用程序非常容易,同时遵循Web标准。我们提供一组颜色,以便开发人员可以拥有一些很棒的默认值,但我们鼓励覆盖它们以创建所需调色板相匹配的设计。从应用程序的背景颜色到文本颜色的所有内容都可以完全自定义。

Ionic 4 核心概念的更多相关文章

  1. Angular核心概念

    一.集成开发环境@angular/cli IE8之后才有debugger工具 2009,nodejs发布,前端Big Bang 1.1 基于NodeJS的工具链 打包工具 grunt 对js代码做合并 ...

  2. 领域驱动设计(DDD)部分核心概念的个人理解

    领域驱动设计(DDD)是一种基于模型驱动的软件设计方式.它以领域为核心,分析领域中的问题,通过建立一个领域模型来有效的解决领域中的核心的复杂问题.Eric Ivans为领域驱动设计提出了大量的最佳实践 ...

  3. Javascript本质第一篇:核心概念

    很多人在使用Javascript之前都至少使用过C++.C#或Java,面向对象的编程思想已经根深蒂固,恰好Javascript在语法上借鉴了Java,虽然方便了Javascript的入门,但要深入理 ...

  4. [程序设计语言]-[核心概念]-02:名字、作用域和约束(Bindings)

    本系列导航 本系列其他文章目录请戳这里. 1.名字.约束时间(Binding Time) 在本篇博文开始前先介绍两个约定:第一个是“对象”,除非在介绍面向对象语言时,本系列中出现的对象均是指任何可以有 ...

  5. spring技术核心概念纪要

    一.背景 springframework 从最初的2.5版本发展至今,期间已经发生了非常多的修正及优化.许多新特性及模块的出现,使得整个框架体系显得越趋庞大,同时也带来了学习及理解上的困难. 本文阐述 ...

  6. ElasticSearch学习笔记-01 简介、安装、配置与核心概念

    一.简介 ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎.设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便.支持通过HTTP使用JSON进 ...

  7. Playmaker Input篇教程之引入的核心概念

    Playmaker Input篇教程之引入的核心概念 Playmaker Input引入的核心概念 Playmaker引入了4个核心概念:状态机.动作.变量和事件.了解它们是学习操作Playmaker ...

  8. Maven的几个核心概念

    POM (Project Object Model) 一个项目所有的配置都放置在 POM 文件中:定义项目的类型.名字,管理依赖关系,定制插件的行为等等.比如说,你可以配置 compiler 插件让它 ...

  9. 刀哥多线程GCD核心概念gcd

    GCD GCD 核心概念 将任务添加到队列,并且指定执行任务的函数 任务使用 block 封装 任务的 block 没有参数也没有返回值 执行任务的函数 异步 dispatch_async 不用等待当 ...

随机推荐

  1. 【71.76%】【codeforces 732A】Buy a Shovel

    time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...

  2. mac下通过brew安装的Nginx在哪

    反正我的是在/usr/local/etc下,看网上的资料似乎都不太一样. 一些常用nginx命令 nginx -s reload :修改配置后重新加载生效 nginx -s stop :快速停止ngi ...

  3. sql server通过脚本添加链接服务器

    exec sp_addlinkedserver  'ZZSJK','','SQLOLEDB','192.168.10.22'  --链接服务器名称 ‘’ ip地址exec sp_addlinkedsr ...

  4. Leetcode 104 Maximum Depth of Binary Tree 二叉树

    计算二叉树的最大深度 我的方法是找出两个子树的长度中最长的那个,然后加1 class Solution { public: int maxDepth(TreeNode* root) { ; ,maxD ...

  5. Python类型和对象

    关键字:Python 类型 对象原文:http://wiki.woodpecker.org.cn/moin/PyTypesAndObjects 关于本书 解释新式的Python对象(new-style ...

  6. java中的switch结构

     switchkeyword的中文意思是开关.转换的意思,switch语句在条件语句中特别适合做一组变量相等的推断,在结构上比if语句要清晰非常多.switch语句的语法格式为:switch(表达式) ...

  7. matlab 正态分布相关 API

    randn:标准正太分布(μ=0,σ=1) normrnd:正态分布随机数,(需要手动指定 μ,σ,二者均是标量) mvnrnd:多变量正态分布随机数,(需要手动指定 μ,σ(二者为向量))

  8. WPF在3D Cad模型中利用TextureCoordinates实现颜色渐变显示偏差值的变化

    原文:WPF在3D Cad模型中利用TextureCoordinates实现颜色渐变显示偏差值的变化 注:最近在做3D机械模型重建方面的软件,需要根据光栅传感器采集的数据绘制3D图形,并显示出色差以及 ...

  9. uva 11346 - Probability(可能性)

    题目链接:uva 11346 - Probability 题目大意:给定x,y的范围.以及s,问说在该范围内选取一点,和x,y轴形成图形的面积大于s的概率. 解题思路:首先达到方程xy ≥ s.即y ...

  10. MQTT是IBM开发的一个即时通讯协议,构建于TCP/IP协议上,是物联网IoT的订阅协议,借助消息推送功能,可以更好地实现远程控制

    最近一直做物联网方面的开发,以下内容关于使用MQTT过程中遇到问题的记录以及需要掌握的机制原理,主要讲解理论. 背景 MQTT是IBM开发的一个即时通讯协议.MQTT构建于TCP/IP协议上,面向M2 ...