#kivy

Kivy是一套专门用于跨平台快速应用开发的开源框架,使用Python和Cython编写,对于多点触控有着非常良好的支持,是一套专门用于跨平台快速应用开发的开源框架,使用Python和Cython编写,基于OpenGL ES 2只需一套代码,即可运行于主流桌面和移动平台之上,支持大部分原生输入协议和设备,包括WM_Touch、WM_Pen、Mac OS X Trackpad和Magic Mouse、Mtdev、Linux Kernel HID、TUIO,此外,还包含一个多点触控的鼠标模拟器。

#demofrom kivy.app import App

from kivy.uix.button import Button

class TestApp(App):

def build(self):

return Button(text='Hello World')

TestApp().run()

这样就可以在Mac和ios以及安卓上运行

kivy demo

kivy 与iOS交互,新建一个demo.pyprint "Hello Kivy"

python demo.py

ios .m文件里面 调用

FILE * fp = fopen(Queuet.py", "r");

if (fp == NULL)

return 1;

PyRun_SimpleFile(fp, "demo.py");

iOS与python交互通过一个文件,或字符串的形式来做PyRun_String,PyRun_SimpleFile

这样的方式对于编译型语法的程序员来说很别扭,不过kivy主要开发是用python,

PyRun_SimpleFile估计是官方给的一个并不好的交互方式。

python调用iOS pyobjus,主要是调用iOS里面一些特有的类型,目前支持delegate回调方式from pyobjus import autoclass

from pyobjus.dylib_manager import load_framework, INCLUDE

load_framework(INCLUDE.AppKit)

NSAlert = autoclass('NSAlert')

NSString = autoclass('NSString')

ns = lambda x: NSString.alloc().initWithUTF8String_(x)

alert = NSAlert.alloc().init()

alert.setMessageText_(ns('Hello world from python!'))

alert.addButtonWithTitle_(NSString.stringWithUTF8String_("OK"))

alert.addButtonWithTitle_(NSString.stringWithUTF8String_("Cancel"))

alert.runModal()

python 对于网络,数据库,动画,3d,逻辑实现是可以的,但是kivy的gui界面实在做得是差强人意,和xib相比可以用粗制滥造来形容,开发人员少,毕竟没苹果那么财雄势大。这点还是可以理解的

lisview

UI可视化编辑器

编辑器

整体来说做逻辑可以考虑kivy,,另外就是kivy官方的更新速度不是很快。 编译器的完善性有待项目检验,不过它的UI框架使用起来比iOS方便很多,独有的kivy语法很神奇,写界面很方便。但是界面确实不敢恭维。

期待kivy进一步完善。

python kivy ios_Kivy跨平台技术开发iOS相关推荐

  1. 使用Kotlin Native技术开发iOS应用

    AppCode简介 AppCode是JetBrains公司出品的用于开发Mac OS X以及iOS应用程序的集成开发环境,能够支持Xcode项目的运行和调试功能,并为Swift和Objective-C ...

  2. python kivy ios_kivy iOS部署人员

    我试图在我的kivy应用程序中使用tornado.在Linux和Mac上运行良好,但是在iOS上tornado并没有被导入.在2013-07-21 16:50:11.862 application[8 ...

  3. python kivy显示图片_Kivy 图形界面开发初体验

    本文是觅道文档连载教程<使用Kivy构建现代桌面GUI应用> 的第一个实例,如需细致的介绍,可点击此处进行阅读 Kivy 是一个开源的 Python 第三方库,可以用来快速开发应用程序. ...

  4. 一起谈.NET技术,分清“语言/规范”以及“平台/实现”,以及跨平台.NET开发

    在许多年前,"语言"就等同于"平台",例如C,C++以及最早的Ruby和Python等等.但是随着技术发展,出现了一些通用的平台,例如.NET和Java,逐渐这 ...

  5. 【新书推荐】《微软开源跨平台移动开发实践》带你走近微软开源开源跨平台技术

    上周收到本书作者李争送的一本12月份的新书<微软开源跨平台移动开发实践--利用ASP.NET Core 1.0 .Apache Cordova.Xamarin和Azure快速构建移动应用解决方案 ...

  6. 移动开发的跨平台技术发展史 | 技术头条

    作者 | 刘望舒 责编 | 伍杏玲 跨平台技术的诞生 我是2010年开始从事的Android开发,当时会Android和iOS开发的很少,也不火,所有人都在"摸着河底过河".项目更 ...

  7. 跨平台应用开发进阶(六十一):uni-app 跨平台技术开发框架可行性调研

    文章目录 一.流程类 二.研发类(uni-app框架) 三.心得分享(研发踩坑&uni-app踩坑) 四.拓展阅读 一.流程类 IOS和安卓企业开发者账户申请流程(申请渠道.需要提供的相关证明 ...

  8. 视频教程-ReactiveCocoa开发技术教程-iOS

    ReactiveCocoa开发技术教程 毕业于解放军特种作战学院,曾就职广州军区司令部.复原后从事IT行业,涉及逆向,安全,密码学等技术领域.2014年在广州某线下教育机构担任iOS讲师,2015年加 ...

  9. Web技术是开发iOS和Android App

    如果说以前的微信公众号还是一个媒体化的平台,那么2016年的公众号会有一种新的形态,叫应用号.应用号预示着比公众号更强大的功能.更优质的体验以及更丰富的服务.应用号的出现是微信产品的一次重大升级,无论 ...

最新文章

  1. hadoop W3SCHOOL
  2. Nagios 安装配置
  3. 手机屏大字滚动_在iPhone手机中,实现长截图的几种方法
  4. string转换为bigdecimal_SO面试题09:如何将String转换为Int?
  5. 派生类的拷贝构造【C++继承】
  6. 格力发布公告称双11期间让利30亿元打击低质伪劣产品
  7. python设计模式六大原则_学习设计模式 - 六大基本原则之迪米特法则(示例代码)...
  8. 如何为网站进行安装SSL证书
  9. Linux DNS 服务配置 (非常详细)
  10. 如何看待基于OpenStack与Docker技术的云计算建设
  11. Spring Cloud(Greenwich版)-03-编写高可用Eureka Server(集群)
  12. 通王CMS采集-TWCMS文章采集-通王CMS关键词采集伪原创发布详解
  13. 推荐:dhtmlx系列js工具包
  14. 用简单易懂的例子解释隐马尔可夫模型
  15. SpringBoot文件夹压缩下载实现示例
  16. 图片和视频混合广告栏轮播实现
  17. 怎么把计算机拉到桌面上,怎么把电脑游戏放到桌面
  18. 安装测试包(.ipa)到iPhone手机
  19. 汇编 windows 10 通过DOSBox使用Debug程序
  20. 利用计算机解决问题过程中找出已知,用计算机解决问题的过程讲解.ppt

热门文章

  1. 微软发布VS Code Jupyter插件!不止Python!多语言的Jupyter Notebook支持来了!
  2. 【翻译】.NET 5 Preview8发布
  3. 哪种开源许可证最适合商业化?
  4. 【译】gRPC vs HTTP APIs
  5. 通过Blazor使用C#开发SPA单页面应用程序(1)
  6. Apollo 配置中心:分布式部署
  7. 书籍推荐:《C#7.0本质论》
  8. .NET Standard 2.1 公布
  9. aspnet core 2.1中使用jwt从原理到精通一
  10. Net Core集成Exceptionless分布式日志功能以及全局异常过滤