(一)半小时开发一个APP

本文介绍了使用PhoneGap和Framework7进行HybirdApp开发的方法。详细讲述了安装配置过程、单页面应用(SPA)原理及实现方式,并对比了HBuilder与Framework7的优缺点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【前言】

HPP是什么?

HybirdApp的简称,详细介绍参见:HPP——让所有中小企业拥有自己的APP

说白了就是用html+css+js开发app,包括ios和android版本。

 

HBuilder

具体实现方式比较多,自行百度吧,就不一一叙述了,

之前比较推荐的HBuilder+mui+nativejs那套,相关资料:

如何快速开发出一个高质量的APP——创业谈

HBuilder开发App入门-滴石

Hbuilder开发App实战1-识岁

http://uikoo9.com/dishi

http://uikoo9.com/shisui

 

Framework7

HBuilder优点有很多,参见上面的几篇文章,

缺点也有些,比较大的就是ui,和Framework7一比,完全是天壤之别,

从几年前的初识,到前段时间Framework7推出android版本的惊艳,

感觉总有人在耳语,这么好的东西不做app,可惜了,

参考:赞,framework7~

 

说了半天,其实就是想说Framework7效果很好,但这个东西配合HBuilder玩不转,配合phonegap效果很好。

 

【前期准备】

1.安装phonegap

1
npm i -g phonegap@latest

 

安装过程参见官网:http://docs.phonegap.com/getting-started/1-install-phonegap/cli/不要害怕,只是几行代码,前提是有nodejs和npm,这个就自己百度吧。

 

2.下载phonegap developer app

iphone直接在app store搜索就行,android的话需要去google play,如果不能FQ的同学可以下载这个

 

3.git clone

git地址:https://github.com/uikoo9/phonegap-framework7.git

 

4.目录介绍

demo1为android版本,demo2为ios版本

 

【android版】

1.cd到demo1/www下

 

2.phonegap serve

Framework7文件比较多,输入命令后耐心等会。

 

3.打开phonegap developer app

找一个安装了phonegap developer app的android手机,而且要保证可以访问到手机网络

打开app,然后输入上面serve地址,点击connect

 

4.效果

 

【ios版】

和android版本相似,不同的是进入demo2,并且使用iphone手机查看效果,如下:

 

【phonegap-serve】

phonegap serve 命令会在本机启动一个小型的web serve服务,

做前端的应该比较熟悉,和browser-sync类似,

当手机访问本机serve的时候,会将本机www目录下的文件传输到手机上,

进而基于phonegap developer app打包成一个app,方便调试,

这种真机调试方式也是比较好的,

1.不需要数据线,只需要手机上安装app

2.启动的serve可以监听文件修改,当有文件修改的时候立即更新

 

【Framework7单页面应用】

文件结构

从github上下载framework7之后,可以看到文件结构如下:

简单的介绍下:

1.dist:放构建后的资源文件,一些js,css之类的

2.kitchen-sink-ios:ios风格

3.kitchen-sink-material:android风格

 

进入kitchen-sink-ios文件夹下可以看到结构如下:

打开各个html,发现只有index是有完整结构的,也就是有html,head,body等,

而其他的html文件都只是一些html片段,例如popover.html文件:

 

SPA应用

前端发展迅猛,经常会听到一些名次,spa,mvvm,mvc之类的,

如果你的前端还是停留在切图做页面的层次,那么已经out的不行了,

所谓spa,就是单页面应用,

所谓单页面应用就是,进入的时候只加载一个主页面,然后其他你看到的跳转页面,都是以div的形式展现,

拿framework7来说,就是通过ajax加载不同的html文件中的html片段然后展现,

单页面的最大好处是:加载快,页面之间跳转可以做出各种效果,普通的href跳转是无能为力的。

 

前端mvc

可能有经验的人员已经想到了,你加载的url都是index.html,然后这个url不变化,只是加载各种div页面,

那么问题来了?当用户要直接访问about.html的时候怎么做,因为你只有一个index.html的url,

spa一般是通过#分隔外加路由实现的,例如访问about.html的时候url为index.html#about之类的,

所以说一个完善spa框架,路由部分是必不可少的,

或者说前几年的spa大火,激发了一波前端mvc框架,例如backbone,angularjs等,

 

mvvm

如果仔细想想,那是不是又会有一个问题,spa的主html+其他div的模式带来一个问题,

普通的href跳转的方式,服务器返回的是已经渲染号的html+data的一个整体,例如jsp,

但是spa的模式,通过ajax请求获取的是一段html代码片段,然后再次ajax请求data,

那么你到手的是html和data,并不是html+data的整体,

这个时候将data渲染到html最普通的方式就是js或者jq一个一个设置,想想都头大,

解决这个问题的就是js template,也就是js模版,例如juicer这个模版效果:

大大加快了data整合html的过程。

js template是一个data到html的单向数据绑定,而mvvm就是双向数据绑定。

 

1.spa

现在前端的迅猛发展,spa功不可没,虽然现在spa相对不那么火了。

2.phonegap过时?

有人和我说phonegap他12年就听说了,不是早过时了么,

phonegap火的时候,对应的ui最佳搭档是jquery ui,体积大效果差,外加硬件跟不上,

这些才是phonegap被诟病的缘由,而并不是phonegap本身不好,

phonegap,hbuilder这类工具只是一个打包工具,将你的html+css+js打包正app,只是做了这个事情,

只要hybirdapp还存在一天,phonegap做为打包工具就不会过时,

而且目前手机硬件上来了,phonegap+spa的方式应该也是一种不错的体验。

 

转载:http://uikoo9.com/book/chapterDetail/105

<think>好的,我现在需要回答用户关于如何使用PyCharm进行手机App开发的询问。首先,用户提供的引用中有提到PyCharm支持Django和Google App Engine,还提到了使用Kivy和BeeWare这两个Python库来开发手机App。不过用户特别问到的是PyCharm本身如何进行手机App开发,所以可能需要结合这些第三方库来回答。 首先,我需要确认PyCharm是否直接支持手机App开发。根据引用[1],PyCharm支持Django和Google App Engine,但没有直接提到Android或iOS开发。引用[2]、[3]、[4]、[5]提到了使用Kivy和BeeWare这两个库,以及可能需要虚拟机或特定工具链。这说明虽然PyCharm本身是Python IDE,但通过集成第三方库和工具,可以实现手机App开发。 接下来,我需要整理步骤。用户需要教程或方法,所以应该分步骤说明如何在PyCharm中配置环境,安装Kivy或BeeWare,创建项目,编写代码,以及打包成手机应用。同时,引用中提到Kivy需要Linux环境或虚拟机,而BeeWare可能也有类似需求,需要注意这点。 另外,用户可能对具体操作有疑问,比如如何配置虚拟环境,如何调试,如何打包。需要详细说明这些步骤,并结合引用中的信息,比如引用[4]提到buildozer只能在Linux使用,所以需要提醒用户可能需要虚拟机。同时,引用[5]提到了具体的文件操作步骤,可能需要指导用户如何在PyCharm中管理项目文件并转移到虚拟机中进行打包。 最后,生成相关问题,可能涉及性能优化、调试技巧、其他框架比较等,需要根据引用内容合理设计。</think>### 使用PyCharm开发手机App的方法 PyCharm虽未直接提供手机App开发模板,但可通过集成第三方库(如Kivy、BeeWare)实现跨平台移动应用开发。以下是具体步骤: #### 1. **选择开发框架** - **Kivy**:适合开发跨平台(Android/iOS)应用,支持触控交互设计[^4]。 - **BeeWare(Toga)**:提供原生界面组件,需配合工具链打包为平台应用[^3]。 #### 2. **PyCharm环境配置** - **安装库**:在PyCharm中通过`File > Settings > Python Interpreter`安装`kivy`或`toga`: ```bash pip install kivy # Kivy安装 pip install toga # BeeWare的GUI库 ``` - **创建项目**:新建Python项目,选择虚拟环境以隔离依赖[^1]。 #### 3. **编写应用代码** - **Kivy示例**(保存为`main.py`): ```python from kivy.app import App from kivy.uix.button import Button class MyApp(App): def build(self): return Button(text='Hello Kivy') if __name__ == '__main__': MyApp().run() ``` - **BeeWare示例**(使用Toga): ```python import toga def button_handler(widget): print("Hello BeeWare") def build(app): box = toga.Box() button = toga.Button('Click me', on_press=button_handler) box.add(button) return box if __name__ == '__main__': app = toga.App('First App', 'org.example', startup=build) app.main_loop() ``` #### 4. **调试与运行** - 在PyCharm中直接运行`main.py`,预览桌面端效果(Kivy/BeeWare均支持桌面调试)。 - 使用PyCharm的调试工具(断点、变量监视)优化逻辑。 #### 5. **打包为手机应用** - **Kivy**: 1. 在Linux系统中安装`buildozer`(需虚拟机如Ubuntu)。 2. 通过命令行生成Android APK: ```bash buildozer init # 生成配置文件 buildozer android debug # 编译APK ``` - **BeeWare**: 1. 安装打包工具`briefcase`: ```bash pip install briefcase ``` 2. 生成Android项目并编译: ```bash briefcase create android # 创建模板 briefcase build android # 构建APK briefcase run android # 模拟器运行 ``` #### 6. **注意事项** - Kivy的界面需手动适配移动端触控逻辑,而BeeWare支持原生组件渲染。 - 若使用Windows,需通过虚拟机完成Kivy的APK打包[^4][^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值