当前位置: 首页 > news >正文

IBM公布Kitura 1.0和Bluemix Runtime for Swift 3

Swift 3正式公布几天后,IBM就已发布了自家的开源服务器端Kitura框架1.0版,以及IBM Bluemix Runtime for Swift 3。InfoQ就服务器端的Swift发展情况采访了IBM的Chris Bailey。

\\

为了兑现改善服务器端Swift稳定性和实用性的承诺,IBM发布了适用于云平台的1.0版Swift框架:Kitura,该框架包含大量新功能,例如URL路由、SSL/TTL支持、JSON解析,以及可插拔式中间件。Kitura还包含了一个可提供静态文件的Web服务器,并提供了对Fast CGI的支持。

\\

此外最新版Swift工具也已包含在IBM Bluemix Runtime中,借此可将Swift代码部署至IBM云平台。

\\

InfoQ就服务器端Swift的发展情况采访了IBM公司负责Swift运行时技术开发工作的资深技术人员Chris Bailey。

\\

您已经深入参与到Swift 3的开发工作。是否可以将您在Swift开发团队中的角色描述为服务器端Swift的倡议者?这个版本中您的主要工作重心在哪里?

\\
\

Chris Bailey:随着Swift去年成为开源项目,全球有很多人通过创意和开发工作完善Swift,将其带到其他平台。我本人以及IBM的几个同事也是其中的一员。

\\

IBM的团队主要侧重于实现Swift在服务器端的运用,为Swift开发者提供必要的能力,帮助他们用尽可能简单的方式创建服务器应用程序和框架,这是我们努力的最终目标。在Swift 3.0版中,这意味着我们需要确保Linux平台对Swift的支持必须尽可能完善,尤其是要做好提供并发能力的Dispatch库并实现Foundation库API。

\\

虽然Foundation方面还有很多工作要做,但在Swift 3.1和Swift 4.0阶段,我们希望能同时开始着手服务器端的一些规范。

\
\\

Swift 3为服务器端编程和Linux提供了更好的支持,您能否详细谈谈这方面的内容?

\\
\

Bailey:Swift 3.0对服务器端和Linux的支持,主要进展在于额外的库和API支持。目前我们最热衷的工作之一是确保能够优先为Linux和服务器用例实现最重要的API。为此我们考虑过使用Kitura作为测试环境,这是IBM开发的一种开源Web框架。随后我们使用各种现有的库构建了一系列示例应用程序,通过这些应用程序研究哪些API是最需要的,并进行更有针对性的测试。随着Swift 3.0的完善,随后我们将与最新进展保持同步,进行回归测试并执行性能测试。

\\

借此我们发现Foundation的某些API,例如URLSessionOperation其实非常关键。这些API都使用Dispatch实现并发,因此与Kitura类似,这些API也成为我们工作的重心。

\
\\

Kitura 1.0包含哪些新增或改进的功能?

\\
\

Bailey:2016年初,Kitura实现了一个可以全面响应URL请求的Web框架。随着后续完善,我们陆续增加了构建现实应用程序所需的功能和特性。例如身份验证、模板、跨站点请求伪造预防(CSRF)机制、跨域资源共享(CORS)支持、日志、缓存、后端数据存储和服务的访问等功能。

\\

随着Swift 3.0和Kitura 1.0的发布,我们开始侧重于性能、代码质量,以及压力测试等工作,我们构建了更多示例、演示和教程,并发布了Kitura.io网站。

\\

当然,对于Swift.org所做的贡献和Kitura的开发只是我们的部分工作。上周我们还发布了IBM Bluemix Runtime for Swift,其中包含最新版Swift并解决了系统依赖项问题,这样用户可以更专注于编写自己的服务器端Swift服务。Swift运行时包含了在IBM Bluemix公有云、专用云,以及本地云部署中运行所需的全部优化措施。我们还会定期更新IBM Swift Package Catalog、IBM Swift Sandbox以及IBM Cloud Tools for Swift,每个产品自身已能流畅运行,通过配合使用更可为Swift开发者提供端到端的集成式体验。这些工具目前均已发布至Swift@IBM网站。

\
\\

查看英文原文:IBM Announces Kitura 1.0 and Bluemix Runtime for Swift 3

相关文章:

  • vsCode 文件保存自动格式化 设置
  • 程序员客栈携手野狗 体验国内领先的实时后端云协作
  • MyEclipse中点击Deploy MyEclipse J2EE Project to Server无响应解决方法
  • react 项目 计算列表金额 数据 汇总并实时变更
  • MongoDB学习(一)
  • Xcode8 Could not build Objective-C module 'FBSDKCoreKit'
  • 何为数据挖掘?
  • 【思路】-URL重写
  • 看完深入浅出的Javascript,简单写下
  • js封装加减乘除四则运算解决精度丢失的问题
  • 必填校验 验证问题
  • SCCM部署先决条件
  • 3 kafka介绍
  • 前端 map方法 解决扁平数据结构转Tree
  • ***测试-HTTP方法
  • 【Linux系统编程】快速查找errno错误码信息
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • Android组件 - 收藏集 - 掘金
  • CNN 在图像分割中的简史:从 R-CNN 到 Mask R-CNN
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • oldjun 检测网站的经验
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • Vue 重置组件到初始状态
  • 编写高质量JavaScript代码之并发
  • 分布式任务队列Celery
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • 实现菜单下拉伸展折叠效果demo
  • 一个完整Java Web项目背后的密码
  • 7行Python代码的人脸识别
  • UI设计初学者应该如何入门?
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • (06)金属布线——为半导体注入生命的连接
  • (11)MATLAB PCA+SVM 人脸识别
  • (4)事件处理——(2)在页面加载的时候执行任务(Performing tasks on page load)...
  • (C#)获取字符编码的类
  • (C语言)二分查找 超详细
  • (HAL库版)freeRTOS移植STMF103
  • (SpringBoot)第七章:SpringBoot日志文件
  • (机器学习-深度学习快速入门)第一章第一节:Python环境和数据分析
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (三分钟了解debug)SLAM研究方向-Debug总结
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • (一)为什么要选择C++
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • (转)IOS中获取各种文件的目录路径的方法
  • ***详解账号泄露:全球约1亿用户已泄露
  • .net core 3.0 linux,.NET Core 3.0 的新增功能
  • .net 获取url的方法
  • .net反编译工具
  • .net反混淆脱壳工具de4dot的使用
  • .NET轻量级ORM组件Dapper葵花宝典
  • .Net下的签名与混淆
  • .net知识和学习方法系列(二十一)CLR-枚举