重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
开发环境跨平台
创新互联公司主要从事网站设计制作、成都网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务沁源,十多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792
1、开发原型的app的话.安卓跨平台都可以开发. ios只能在mac系统上进行打包编译.
2、如果是要嵌套html5来开发app. 那开发是都可以在很多平台上开发. 不过ios的打包编译成app还是需要mac系统.
3、用第三方平台工具开发.有提供跨平台那就可以跨平台开发. 打包的话看平台是否有提供.
4、其实不管怎么样开发代码有办法敲出来. 不过ios的编译打包只能在mac系统上记住这点就行了.
或你是想问,代码跨平台么? ios和安卓用同一套代码?
1、那实现方法要么现在ios和安卓上开发一套承载html5的浏览器框架. 然后具体实现都用同一套html5 + js 开发实现. 这样可以理解为跨平台.
2、利用现在现有的第三方工具开发. (原理分为两种.在各自平台的APP内运行html5 或 将代码分别转换成各自的代码各自编译.)
3、最终要的是要打包成ios包 肯定是需要mac系统. 要么自己编译, 要么将代码给第三方编译.
不久前,谷歌正式推出 Jetpack Compose 1.0 版本。近日,JetBrains 在此基础上发布了 Compose Multiplatform Alpha 版本,旨在将 Compose 扩展到桌面和 Web 端。
Compose Multiplatform 由 Compose for Desktop 和 Compose for Web 组成,通过 Kotlin Multiplatform 支持许多不同的平台。其中,Compose Desktop 采用 Google 的 Skia 图形库,来实现在 Windows、macOS 和 Linux 上的 UI 绘制,借此在所有支持的操作系统中提供统一的体验,类似于 Flutter 的做法。
根据 Kotlin 团队的说法,相比起 Electron 框架,Compose Multiplatform 在内存消耗、安装大小和 UI 渲染性能等方面将有更明显的优势。随着 Alpha 版本的发布,Compose Multiplatform 还收获了新的 Android Studio 插件,包括对在 IDE 中显示组件预览的支持以及许多附加功能。
我们希望通过本文帮助大家进一步了解 Compose 的跨平台能力,以及 JetBrains 将 Compose 从 Android 扩展到这些其他平台背后的主要驱动力是什么。
基于 Jetpack Compose 1.0
由谷歌打造的 Jetpack Compose 是一款用于在 Android 应用程序之内构建用户界面的官方框架,上周刚刚发布 1.0 版本。与此同时,Android Studio 代号“极狐”的首个稳定版 2020.3.1 也正式亮相。
尽管才刚迎来 1.0,但谷歌表示“目前 Play Store 中已经有超过 2000 款应用程序在使用 Compose——更重要的是,就连 Play Store 这款应用本身也在使用 Compose。”谷歌方面还表示,“我们一直在与一些顶级应用的开发人员进行合作,他们的反馈和支持帮助我们使 1.0 版本更加强大。”
Jetpack Compose for Android 迎来 1.0 版本
Compose 基于 Kotlin 开发,而 Kotlin 与 Android Studio(即官方指定的 Android IDE)均来自开发工具厂商 JetBrains。虽然 Jetpack Compose 专为 Android 打造(与谷歌的 Flutter 框架不同), 但 JetBrains 公司坚信 Compose 完全能够获得跨平台能力 。
Compose for Desktop: 这只是开始
Compose Multiplatform 可以说是该框架面向 MacOS、Linux、Windows 以及 Web 开设的一个端口,目前刚刚发布 1.0 Alpha 版本。虽然尚处于早期开发阶段,但 JetBrains 表示,其已经“为开发人员带来能够基本安全使用的稳定 API”。
TheRegister 就此事询问了 JetBrains 公司 Compose 项目负责人 Nikolay Igotti,希望了解为什么该公司在拥有了已经广泛应用于 IntelliJ IDEA IDE 及多种丰富变体的桌面应用程序跨平台 Java 框架之外,还要费力开发 Compose for Desktop。Igotti 的回答是,“旧有 Java 框架基本上就是修改版的 Swing。Swing 属于默认 JDK UI 框架,Swing 和 AWT(Abstract Windows Toolkit,抽象窗口工具包)。Compose 则完全是另一码事,当然我们也在设计中考虑到了互操作性需求……Swing 这套框架太陈旧了,最早出现在上世纪九十年代末。多年来人们对于 UI 的设计思路已经天翻地覆,Swing 显然满足不了要求了。”
JetBrains IDE 中的 Compose for Desktop 项目
Compose 与 Swing 有一个比较大的共同点:与其他使用本机控件的跨平台框架,比如例如 Java 的 SWT(Standard Widget Toolkit)以及微软的 Xamarin 有所不同,它们选择自主绘制控件。Compose 使用的 Skia 开源图形库,也在谷歌 Chrome、Flutter 及其他众多框架当中得到广泛应用。那这是否意味着 Compose 应用程序将没有自己的原生外观?对此,Igotti 的回应是,“这取决于开发人员的选择,取决于他们如何为应用程序设置主题。在这方面,Compose 的情况与 Flutter 等其他框架没什么区别。”
那 Compose for Desktop 应用程序是否依赖于 JVM(Java Virtual Machine)运行?Igotti 表示,“我们也知道,JVM 应用程序的发布情况可能比较棘手。因此我们提供自己的 Gradle 插件,其使用 jpackage 与 Jlink 以 JVM 应用程序为基础制作原生应用程序。Mac 的.dmg、Windows 的 MSI、Linux 的 deb 包等均可实现,大家用不着担心 JVM。”
也就是说,开发成果将会是一款被精心包裹起来的 JVM 应用程序。JetBrains 还有一款用于解决这个问题的 Kotlin/Native 编译器,“预计将在未来发布,或者专门用于桌面开发。”
对应用程序的另一种思考方式
那 Web 应用程序方面呢?Igotti 回应称,“我们使用 Kotlin/JS 编译器。”Compose 的 Web 版本不如桌面版先进,说明文档中也警告称“API 尚未最终确定,预计会发生重大变化。”此外,虽然 Web 版本确实使用 Compose 模型,但 API 却完全不同,而且会使用 HTML 与 CSS。所以,Web 版与 Compose for Desktop 之间能够共享的代码应该比较少。
据 Igotti 介绍,“Compose 代表着一种不同的应用程序思考方式。状态即 UI 的真实来源,而 UI 本身是无状态的,其表达永远由状态计算得出。在这方面,Compose for Web 采用一组相同的原语,完全相同的状态管理思路。但是对于具体的小部件集合与排列方式,Web 版与桌面版之间确实无法互通。”
说到这里,为什么要把 Compose for Android 扩展到多种其他平台之上?“Compose 的目标受众主要分为三类。首先是使用 Kotlin 与 Compose 的 Android 开发人员,他们希望把自己的开发成果交付至其他平台;其二是纯 Kotlin 开发人员,他们希望以‘一次编写、随处运行’的方式开发新的应用程序;第三则是那些不太熟悉 Kotlin 或者 Compose,但又希望开发出精美 UI 的用户,我们希望能为他们提供实现目标的工具。”
Igotti 并没有给出具体的发布日期,但表示自己希望 Beta 版能在今年秋天发布,“我们也希望能在今年之内推出 1.0 版本。”项目本身是完全开源的,“二十一世纪了,框架在大多数人们心目中就不应该收费。我们只是想开发一款长期缺失的软件”,补足 JetBrains 当前商业模式中的工具链。
那么,JetBrains 会在自己的其他工具中使用 Compose 吗?事实上,他们的 JetBrains Toolbox(用于管理已安装的 IDE)已经在使用 Compose,但 Igotti 表示短时间内 Compose 还无法取代 IntelliJ IDEA 等现有框架。“编辑器是其中最复杂也最重要的组件,经历了 20 年的发展演进,我们几乎不可能在中途进行重写了。无论是 JetBrains 还是我个人,都不打算强迫每个人都转而使用 Compose。我们的目标是为原有框架选项满足不了的用户提供新的解决方案。”
写在最后
那么,为什么除了 Flutter 之外,我们还需要另一个跨平台框架?虽然谷歌的 Flutter 最开始主要面向移动设备,但现在也开始向桌面及 iOS 进军,甚至比 Compose 还抢先了一步。不过,根据 StackOverflow 的最新调查, Flutter 使用的语言为 Dart;尽管 Dart 语言的人气正在增长(正是受到 Flutter 的推动),但仍然无法与 Kotlin 相提并论。
Compose 代表着一种独特的 UI 构建方法,也许最期待 Compose 跨平台功能的受众,正是那些曾在 Android 上使用过它、又特别喜欢这种 UI 构建体验的开发者。
想要进一步了解 Compose,国内 Android 开发者可访问以下链接查看中文手册:
延伸阅读:
由于在下最近在做基于HTML5的跨平台移植,搭建环境的时候着实费了不少劲。现在空闲下来顺便整理一下,给大家分享。
首先介绍一下PhoneGap。
PhoneGap是一款基于HTML5标准的跨平台开源手机Web应用开发框架。它允许用户通过Web技术访问移动设备的本地应用、API接口及应用程序等。
PhoneGap的官方网站是。 朋友们可以通过官方网站下载最新的PhoneGap及API文档。
1.下载PhoneGap最新版本
下载地址:
我下载的版本为2.5.
下载解压到自定义文件夹。
2.打开本地终端。(因为我是做IOS移植的,所以这里只介绍有关IOS平台下的搭建环境。)
cd /Users/mac/Documents/myhome/phonegap-2.5.0/lib/ios/bin
(这里是我的本地目录,大家可根据自己的目录自行查找)
在当前路径$./create /Users/mac/Desktop/demo2 com.company.cxwj HelloWorld
(这里的意思是在桌面上创建一个项目名称为HellWorld的工程的文件夹)
注:图中的错误是因为我桌面上一个相同文件名称的文件夹。大家不要跟我犯同样的错误。
3.在终端中直接cd回到原始默认路径。
然后进入我们桌面文件夹的cordova路径。
在该路径下执行$./build
直到你看到成功字样。
4.这时候打开桌面上你创建的demo文件夹。
然后用xcode打开里边的demo工程,用虚拟机运行一下 如果看到下图你就成功了。
5.接下来我们继续看工程。
Xcode左边的树形结构应该是这个样子。
看到www文件夹了吧 这里边就是你的HTML5的程序所在了。
Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter可以与现有的代码一起工作。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的。(-中文网;-英文网)
Flutter是一种趋势,势必会取代RN,成为最主流的跨平台开发框架,基于Dart语言。ios开发必须Mac电脑。android开发window、linux、Mac均可。
PhoneGap,著名的跨平台Hybrid框架,旨在让开发者使用HTML、Javascript、CSS开发跨平台的App。
最近的工作,就是做Hybrid方面的,很自然,方案就从PhoneGap入手。
下面就切入正题,分析下PhoneGap的原理,需要说明的是,我只针对iOS版本的PhoneGap做分析,android版本的原理大同小异。
安装PhoneGap
现在使用PhoneGap非常方便,只需要安装node,用简单的命令就能完成安装和使用的工作。
安装PhoneGap:
sudo npm install -g phonegap
创建phoneGap应用:
phonegap create my-app
cd my-app
phonegap run ios
PhoneGap与Cordova的关系
Cordova是PhoneGap贡献给Apache后的开源项目,是从PhoneGap中抽离出的核心代码,是驱动PhoneGap的核心引擎。有点类似Webkit和Google Chrome的关系。
渊源就是:早在2011年10月,Adobe收购了Nitobi Software和它的PhoneGap产品,然后宣布这个移动Web开发框架将会继续开源,并把它提交到Apache Incubator,以便完全接受ASF的管治。当然,由于Adobe拥有了PhoneGap商标,所以开源组织的这个PhoneGap v2.0版产品就更名为Apache Cordova。转载,仅供参考。
很久以前整理了篇将手机网站做成手机应用的JS框架。时隔一年多,很多新的技术已经出现,下面再来总结下还有哪些框架是适合面向手机设备的开发的。1、jQueryMobilejQueryMobile是jQuery在手机上和平板设备上的版本。jQueryMobile不仅会给主流移动平台带来jQuery核心库,而且会发布一个完整统一的jQuery移动UI框架。支持全球主流的移动平台。jQueryMobile开发团队说:能开发这个项目,我们非常兴奋。移动Web太需要一个跨浏览器的框架,让开发人员开发出真正的移动Web网站。2、jQTouchjQTouch是一个jQuery的插件,主要用于手机上的Webkit浏览器上实现一些包括动画、列表导航、默认应用样式等各种常见UI效果的JavaScript库。支持包括iPhone、Android等手机。3、DHTMLXTouchDHTMLXTouch是一个免费的HTML5/JavaScript框架,专门为触摸屏设备而优化。为您带来快速开发工艺精美的移动Web应用程序的能力。DHTMLXTouchUIDesigner是一个可视化的编辑器用于构建移动用户界面。它能够帮您以最少的编码构建一流的用户界面。在其主页上提供一些示例可以展示DHTMLXTouch强大的用户界面。包括一个menuappfortheiPad(适用于开发餐厅应用)和BookShop(一个电子书店应用)。4、Mobilize.jsMobilize.js是一个开源的HTML5-JavaScript框架用于从任何现在有标准网站快速,简便地构建移动网站。这个框架其实就是将需要在移动设备上显示的部分页面以jQueryMobile的默认主题显示,而不是实现一个全新完整的移动页面。Mobilize.js可用于任意网站,但对于基于WordPress和Sphinx的网站不需要使用该框架转换,因为已经有非常多的插件可以使用。5、TheMProjectThe-M-Project是另外一个强大的JavaScript框架,它利用HTML5新的特性来更好和更简便地开发移动应用。这个框架遵循著名的MVC软件架构模式。它还支持离线,所以你的用户可以在没有连接网络的情况下继续操作(当下次有连线的时候,再将数据同步到服务器中)。提供优秀的文档(这个项目拥有一个引导新用户入门的开发指南)。可以查看提供的示例来对该项目有一个初目的了解。这些示例包括:ToDoApp(待事项目应用)和KitchenSink(这个示例包括这个框架提供的所有UI元素)。6、WebApp.NetWebApp.Net提供了很多的API,因此可以帮助你节省很多工作了。不需要花时间去进行Ajax调用的编码,因为已经内置了,另外还有很多其它内置功能,提供了详细的文档和应用演示。7、WijmoWijmo是一个基于jQueryUI的UI部件的套件。Wijmo部件进行了优化客户端Web开发和利用jQuery的优越的性能和易用性的力量。所有的Wijmo部件都配备了20多个主题和支持ThemeRoller。8、960GridonjQuery-Mobilejquery-mobile-960是一个用于移动Web开发的网格框架,综合了960.gs的灵活性和jQueryMobile的方便性。它的目的是让jQueryMobile布局更加的灵活,使得应用应许在移动终端更加易用。9、SenchaTouchFrameworkSenchaTouch是世界上第一个基于HTML5的移动Web开发框架,支持最新的HTML5和CSS3标准,全面兼容Android和AppleiOS设备,提供了丰富的WEBUI组件,可以快速的开发出运行于移动终端的应用程序。Shencha是第一个使用HTML5,CSS和JavaScript并且支持音频/视频,本地存储,圆角,渐变背景以及阴影的开发框架。10、NimbleKitNimbleKit是为iOS设备构建应用程序最快速的方式,你不需要知道Objective-C或者iOSSDK,你只需结合JavaScript代码编写HTML页面就可以了。11、Touchy™BoilerplateTouchyBoilerplate是一个用来创建移动webapp,包括HTML模板,Metatag等的工具。Touchy可以支持动态页面导航,固定页头,滚动内容,浏览历史记录等功能。Touchy使用jQuery或者Zepto.JS。12、PhoneGapPhoneGap是一个用基于HTML,CSS和JavaScript的,创建移动跨平台移动应用程序的快速开发平台。它使开发者能够利用iPhone,Android,Palm,Symbian,WP7,Bada和Blackberry智能手机的核心功能——包括地理定位,加速器,联系人,声音和振动等,此外PhoneGap拥有丰富的插件,可以以此扩展无限的功能。PhoneGap是免费的,但是它需要特定平台提供的附加软件,例如iPhone的iPhoneSDK,Android的AndroidSDK等,也可以和DW5.5配套开发。使用PhoneGap只比为每个平台分别建立应用程序好一点点,因为虽然基本代码是一样的,但是你仍然需要为每个平台分别编译应用程序。13、joshfireJoshfire是一个开源的跨设备开发框架,帮助开发者创建可以在多种设备上运行的webapp。它使用HTML5和JavaScript,并且允许开发者快速整合本地应用和特定的web应用。Joshfire可以让你的应用接受键盘,鼠标,触摸屏,遥控器等设备的输入。Joshfire支持Node.JS。4.SenchaTouch:基于HTML5的移动网页开发框架。14、JuliaJulia框架由基本CSS3文件、JS库和各个平台的运行库构成。不像PhoneGap,Julia不仅仅包含调用本机代码的接口层,它还包含Model-View-Controller(MVC)支持,Delegation支持,OAuth支持,异步数据库存取接口,HTML选择符(类jQuery调用接口),HTML模版(允许嵌入JS代码)等应用开发必备的API接口。基于Julia的应用开发就像网站开发那么简单,是的,你终于可以用HTML5开发一个完整的、跨平台的、不亚于本机代码的、易于维护的移动应用了!大幕即将揭晓,让我们一起进入移动开发的新时代15、SproutCoreHTML5ApplicationFrameworkSproutCore是一个HTML5移动Web开发框架,它的目标是在无需浏览器插件的情况下,在浏览器中位应用程序提供极佳的桌面效果。16、Titanium这是一个强大的,健壮的移动Web开发框架。能够让使用现有的HTML,CSS和JavaScript知识来为iOS和Android平台开发原生移动应用。作为一个越来越大的移动Web框架,它拥有超过300个的APIs和活跃的开发者社区。你从这个社区中得到每一个开发人员的帮助。TitaniumMobile支持原生的iOS和AndroidUI元素如Tableviews,tabs,switches和popovers。它提供能够与移动设备的摄像头和本地文件存储系统相交互的特性。17、Lungo.jsLungo.js是一个采用HTML5,CSS3和JavaScript技术实现的移动Web应用程序开发框架。利用这框架开发的应用程序可运行所有流行的平台包括:iOS,Android,Blackberry和WebOs。它还支持触摸事件如:tap,double-tap和swipe。整个框架没有用到任何图片包括图标,所有都矢量化。可以在这个框架中使用HTML5拥有的一些特性如:WebSQL,地理位置定位,历史或设备方向等。Lungo.js是一个模块化并且完全可定制的框架。18、xui.js有时候你可能需要一个超轻量级的框架,只要拥有用于开发标准客户端所需要的功能如:DOM操作,事件处理,Ajax和一些动画效果。如果是这样的话,这个框架刚好非常适合你。整个框架采用GZIP压缩完之后只有4.2KB。19、EmbedJSEmbedJS是一个用于嵌入式设备的JavaScript框架如:移动电话,TVs、tablets和soforth。EmbedJS强大之处在于,它拥有专门为特定平台和浏览器如iOS,Firefox,Android等提供相应的开发版本。这样就能够以最少的代码,为用户提供最佳的体验。而且假如你喜欢自己定制,可以利用其提供的EmbedJSBuildtool工具实现。EmbedJS基于Dojo实现,所以你如果熟悉DojoAPI语法,那EmbedJS将是你最佳的选择。20、zepto.jszepto.js是一个专为mobileWebKit浏览器(如:Safari和Chrome)而开发的一个JavaScript框架。它标榜自己在其简约的开发理念,能够帮助开发人员简单、快速地完成开发交付任务。更重要的是这个JS框架,是超轻量级的,只有5KB。zepto.js的语法借鉴并且兼容jQuery。21、BakerBaker是用来在iPad或者iPhone平台上发布交互式的电子书或者电子杂志的HTML5电子书框架。22、ChocolateChip-UIChocolateChip-UI是一个手机移动Web开发框架,采用HTML5,WAML,CSS和JavaScript等技术实现。基于ChocolateChipJavaScript框架,包含最新的ChUI.JS和ChUI.css.23、MagazineGridMagazineGrid是一个超现代的CSS框架,用于iPad和iPhone手机,使用类似杂志的设计风格。MagazineGrid可让用户使用HTML5元素来组织杂志页,非常轻量级(4k),在移动设备上加载非常快,对老的浏览器也支持。24、KendoUIKendoUI是一个强大的框架用于快速HTML5UI开发。基于最新的HTML5、CSS3和JavaScript标准。KendoUI包含了开发现代JavaScript开发所需要的所有一切,包括:强大的数据源,通用的拖拉(Drag-and-Drop)功能,模板,和UI控件。25、HTMLAppHostFramework这是一个用于构建基于WindowsPhone7的HTML/JavaScript托管框架,使用HTML5技术。该框架由支持在标准xap格式中嵌入html应用的控件。