艳阳,你就是我最想要的丫头(二)

 

Sunny在最初阶段就被设计成一款开源工程,Git地址:https://github.com/TangramDev/Sunny,编译版本下载地址:https://github.com/TangramDev/Sunny/releases/download/v1.0.0.5/Sunny.zip

现代桌面软件面临的三个关键问题

  1. 缺乏与之适配的软件生态,这一点直接导致大量成熟的软件组件(.NET、Java、COM、C++、Web组件)积累, 以及广泛的软件人力资源难以根据对应的软件形成有针对性的软件增值服务, 会在根本上制约软件成为互联网服务的前端环节,更难以为之建立具有服务性质的后端服务
  2. 主流开源项目 缺乏对接,使得软件依赖的关键技术缺乏强有力的技术社区支持。以Chrome、Eclipse为 例,由于是开源的,拥有了天然的社区支持,使得软件本身的发展会变得良性、有持续生存的依据;
  3. 现代浏览器本身就是一款桌面软件,由于支持html文档,使得内容生态变得非常丰富。毋庸置疑, 浏览器软件的很多品质局限于浏览器本身是对软件生产力的一种禁锢, 而浏览器本身的很多优势恰恰是桌面软件缺乏的,就是说,桌面软件缺乏浏览器内在的结构, 使得其适应互联网的发展方面显得力不从心。

       从技术、人力等角度看,以上三个问题,极大的超越了一个软件团队的技术驾驭范围以及人力基础能够承载的界限, 也就是说,很难想象一个团队可以同时系统的面对如上三个问题。桌面软件发展至今有接近30年的历史了,来自.NET、 Java、COM、C++、Web等领域的成熟技术是海量的,有没有一个通用的技术途径,使得软件团队可以规避整体的技术、人力储备局限, 直接将成熟的技术用于他们关注的软件服务本身,这个问题是一个富有挑战性的问题。

       从软件复用的角度看,软件服务团队,不应该将精力放在如何实现大范围整合的具体技术上, 事实上,应该有一种通用的技术途径,使得软件服务团队专注于如何用成熟的软件资源内容“组织”软件服务,这一点需要在宏观上解决一个合理的、 通用的适配问题,也就是说, 当前大环境需要一类简单的技术,使得应用程序在基础结构的根基环节, 一次性的(与技术相对无关的)解决好一个桌面软件与“Web、.NET、Java”等主流技术的基于生态技术的衔接问题, 这个衔接对软件服务团队而言是一致的、几乎无门槛的、可以最大限度利用软件组件资源以及人力资源的“一站式”解决方案 

Sunny的解决方案

 Sunny定义了一个应用程序的基础结构, 给出了一站式的解决方案,一步到位的将:

  1. 软件生态链(面向.NET组件资源、Java资源、Web资源的内容生态链)
  2. 主流开源项目对接(Chromium Project、Eclipse、.NET Core等开源项目)
  3. 集成现代浏览器全部功能(全功能Built-in WebBrowser 支持)

       通过一个单一的技术架构,一次性的提供给软件架构者,使得每一款基于Sunny技术开发 的.NET桌面应用,直接具备以下几个关键特征:

  1. 支持Common Layout Engine:耳目一新的动态布局引擎, 将盘活各种.NET组件、C++组件以及Web组件...,为形成软件生态奠定现实的基础。
    动态布局一 动态布局二 动态布局三 动态布局四 动态布局五 
    动态布局六
  2. 支持Common Web Runtime:独特的Built-in浏览器技术, 使得您可以以各种灵活的方式驾驭"Web-Desktop"混合内容,您的桌面软件可以最大限度、最灵活的方式适应互联网各种服务,一个更大的DOM, 允许您实现Web端对桌面端最佳的控制,使得应用页面化成为现实,进而使得软件可以基于Web技术构建互联网内容生态。
  3. 支持Common Eclipse Runtime:Bulit-in Eclips支持, 使得您可以自由驾驭Java组件,将Java、.Net、JavaScript巧妙的融合在一起,实现强大的“Web-桌面端”的互操作。 结合Eclipse本身的生态技术,Sunny借助于CER,使得应用开发者可以构建以Java基础的应用生态。

       Sunny试图通过一个单一的技术架构,整合:

  • Microsoft .NET(Core)
  • Google Chromium
  • IBM Eclipse

使得软件生态可以建立在庞大技术社区基础之上,同时使得互联网服务 成为桌面软件的基础部分,开发者只需充分利用,而不用担心衔接问题。

 

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页