在浏览有关Sciter技术前,您需要花点时间浏览以下内容。

  1. 您是否需要花时间学习Sciter?
    如果您的工作或您想从事的工作与桌面应用开发无关,那么您不需要学习Sciter。
    如果您不认同HTML\CSS\JS等技术,那么您不需要学习Sciter。
    如果您的桌面应用产品属于性能密集型,UI界面很简单,那么不建议您使用Sciter。
    如果您的团队中没有人懂Web前端技术栈,也没有计划招聘或者培训,那么不建议您使用Sciter。
    ****
    如果您正在寻找一种类Web前端的技术帮您实现桌面应用,那么一定要考虑使用Sciter。
    如果您正在MFC、WPF、QT等UI框架中犹豫不决时,可以考察一下Sciter是否符合您的业务。
    Sciter适合页面内容丰富,呈现效果多样化的桌面应用产品。
    Sciter借鉴了Web前端(HTML\CSS)的思想和技术体系。所以,对Web前端团队是非常友好的。

  2. 在众多WebUI技术中,Sciter有什么优势?
    WebUI技术相较于MFC、WPF、QT、DirectUI等技术,其显著特点是其采用HTML\CSS技术标准。目前,市面上常见的WebUI技术都是从浏览器项目中剥离出来的,打包解析引擎、渲染引擎、脚本引擎、网络服务等成一个容器壳,然后容器加载HTML、CSS、JS文件等。Sciter的基本原理与其一致。但是,Sciter实现了自己的解析引擎、渲染引擎、脚本引擎等。
    疑问一、Sciter自主研发的引擎稳定吗?
    Sciter目前已经运行在上亿的PC上,其用户包括很多安全软件和大厂,稳定性是毋庸置疑的。Sciter作者是W3C标准委员会成员,对标准的理解肯定非常透彻,在技术方面有很强的保障。

    疑问二、既然有Blink、WebKit这样的浏览器内核,Sciter为啥不用?
    Sciter的前身是Htmlayout,在Htmlayout时代,核心引擎已经存在。在哪个时代还没有开源浏览器出现。
    Sciter应用在桌面产品中,属于富客户端技术。在设计上只考虑性能、简洁适用即可。浏览器内核需要考虑标准支持程度、兼容性等问题。简而言之,Sciter精简了HTML、CSS的一些特性,增加了一些适用于桌面应用的特性。
    总之,Sciter相较于其他WebUI技术来讲,更加轻量级,更加符合桌面应用的技术特征。

  3. Sciter授权方式
    如果从技术上Sciter满足您的要求,那么您需要认真考虑License的问题。
    使用SDK免费,需要源代码和更好的技术支持需要支付费用。
    官方地址

  4. Sciter生态或者社区如何?
    Sciter的官方SDK非常好,有非常详尽的例子可供参考。您实际工作中遇到的问题,都可以在其中找到参考案例。官方网站上面有论坛,有相应的技术QQ群。

  5. 如何开始学习Sciter?
    1)下载官方SDK。 官方地址 github地址
    2)运行bin目录下exe文件(Windows下),将里面的例子一个一个的扔到sciter.exe中,过一遍。
    通过这一步,你将全面了解sciter的所有控件和一些业务上需要的功能如何去实现

    [进阶]
    编写UI组件
    编写Sciter扩展库(需要学习C++)
    架构设计(业务逻辑与Sciter衔接)
    发布时代码资源如何保护
    Sciter源码管理及定制
    ...

  6. 学Sciter是否有前途?
    Sciter的技术栈与Web前端部分重合。由于Sciter是根据自身需要实现HTML、CSS、Script标准的。所以,标准Web前端代码未必能直接复制过来使用,甚至于一些实现思路都会存在差异。
    Sciter是基于C++的。如果您想深度使用Sciter,您就要多学一种编程语言。(而且这种编程语言还很难)

    [ 一个对Sciter非常熟悉的人,那么他会具备哪些知识和技能了?]
    1)熟练使用html/css/script,驾驭Web前端技术栈不会存在任何问题。当然,可能需要花费一点时间学习其中差异。
    2)掌握script与native代码之间的交互机制。可能不同的技术,交互机制会有不同,但是基本原理一致。
    3)如果您的团队购买了源代码,那您可以从源代码中了解浏览器内核的工作原理。当然chrome这些项目也可以学习其中原理,但是它太庞大了...
    4)您一定会成为一名优秀的程序员。Sciter涵盖了大量程序设计思想,有很多设计考量会让您豁然开朗,会让您对Web前端技术理解的更加透彻。

最后,如果您是一个专业的前端开发人员(不管是Web前端还是桌面应用前端),那么学习Sciter都能让你受益匪浅。

Zero 初识Sciter的更多相关文章

  1. VSCode添加Sciter脚本Tiscript高亮支持

    Sciter中的Tiscript脚本不是标准的Javascript,是对Javascript的扩展.所以在常用的编辑器和IDE上对于高亮的支持很不好. 不过在Sciter论坛中找到了在VSCode上的 ...

  2. Android动画效果之初识Property Animation(属性动画)

    前言: 前面两篇介绍了Android的Tween Animation(补间动画) Android动画效果之Tween Animation(补间动画).Frame Animation(逐帧动画)Andr ...

  3. 初识Hadoop

    第一部分:              初识Hadoop 一.             谁说大象不能跳舞 业务数据越来越多,用关系型数据库来存储和处理数据越来越感觉吃力,一个查询或者一个导出,要执行很长 ...

  4. python学习笔记(基础四:模块初识、pyc和PyCodeObject是什么)

    一.模块初识(一) 模块,也叫库.库有标准库第三方库. 注意事项:文件名不能和导入的模块名相同 1. sys模块 import sys print(sys.path) #打印环境变量 print(sy ...

  5. 初识IOS,Label控件的应用。

    初识IOS,Label控件的应用. // // ViewController.m // Gua.test // // Created by 郭美男 on 16/5/31. // Copyright © ...

  6. UI篇(初识君面)

    我们的APP要想吸引用户,就要把UI(脸蛋)搞漂亮一点.毕竟好的外貌是增进人际关系的第一步,我们程序员看到一个APP时,第一眼就是看这个软件的功能,不去关心界面是否漂亮,看到好的程序会说"我 ...

  7. Python导出Excel为Lua/Json/Xml实例教程(一):初识Python

    Python导出Excel为Lua/Json/Xml实例教程(一):初识Python 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出 ...

  8. 初识SpringMvc

    初识SpringMvc springMvc简介:SpringMVC也叫Spring Web mvc,属于表现层的框架.Spring MVC是Spring框架的一部分,是在Spring3.0后发布的 s ...

  9. 初识redis数据类型

    初识redis数据类型 1.String(字符串) string是redis最基本的类型,一个key对应一个value. string类型是二进制安全的.意思是redis的string可以包含任何数据 ...

随机推荐

  1. Mac夜神模拟器99%无法正常使用

    PS:部分因更新OS X导致的卡99%可以尝试更新VBOX来解决此问题. 下载VBOX地址:https://www.virtualbox.org/wiki/Downloads         选择对应 ...

  2. 推荐一款好用的博客离线编辑工具——OpenLiveWriter

    1.前言 我们自己一般在写博客的时候都是在博客官网后台写的,但是如果要在多个平台发布博客的话,那就要复制好前面写好的博客,然后再去其它博客平台发布,可见非常的麻烦. 这里推荐一款好用的离线多功能,多平 ...

  3. 十、Spring中常用注解-分层整理

    1.@Controller: 标注展示层组件(Bean),但是目前该功能与 @Component 相同,用来创建处理http请求的对象   Spring4之后加入的注解,原来在@Controller中 ...

  4. UIImage点九图(让image不变形、只拉伸中间部分)

    建议写成UIImage的分类,如下 .h //保证图片拉伸不变形 - (UIImage *)resizingImageState; .m //保证图片拉伸不变形 - (UIImage *)resizi ...

  5. HHR计划---作业复盘-直播第三课

    一,出租车广告: 1,三个点不合格:周期太长了,大而全互联网产品,不符合MVP原则:业务关键点丢掉了:没有业务认知和成长. 2,关键假设: (1)车主有没有需求呀,画像怎么样? (2)车主收入如何,能 ...

  6. PAT T1019 Separate the Animals

    暴力搜索加剪枝,二进制保存状态,set去重~ #include<bits/stdc++.h> using namespace std; ; string s[maxn]; struct n ...

  7. [转]JSP自定义标签

    原文链接 当jsp的内置标签和jstl标签库内的标签都满足不了需求,这时候就需要开发者自定义标签. 自定义标签 下面我们先来开发一个自定义标签,然后再说它的原理吧! 自定义标签的开发步骤 步骤一 编写 ...

  8. 安卓LED跑马灯 超炫酷的表白神器破解版

    链接:https://pan.baidu.com/s/11Wxll4iLdcEPq0wUBK6Ong 提取码:all4

  9. HashMap源码__resize

    final Node<K,V>[] resize() { //创建一个Node数组用于存放table中的元素, Node<K,V>[] oldTab = table; //获取 ...

  10. System.arraycopy方法解释

    数组拷贝 public static native void arraycopy(Object src, int srcPos, Object dest, int destPos, int lengt ...