当前位置:   article > 正文

uni-app心得体会_为啥开发app不建议uniapp

为啥开发app不建议uniapp

作为一种跨平台的开发框架,uni-app可以同时开发多个平台的应用程序,包括iOS、Android、Web等常见平台,从而提高开发效率和代码复用率。根据我的观察和了解,uni-app有以下几个优点:

1. 跨平台:一份代码可以同时支持多种平台,通过插件市场可以实现丰富的功能扩展。

2. 开发效率高:使用vue.js作为开发基础,开发体验优秀,配合uni-app的一些特定功能,可以极大地提高开发效率。

3. 兼容性强:uni-app使用了轻量的vue.js路由器,默认渲染原生组件,具备更好的兼容性和性能优势。

4. 相对成本低:开源、免费的uni-app基本应用可以开发一些普通的应用,而且也可以快速打造开发小程序的能力,成本相对低。

然而,uni-app也存在一些不足之处:

1. 功能有限:uni-app提供的原生组件库相对较少,某些复杂应用需要大量搭建而且无法使用原生功能。

2. 框架升级不及时:uni-app的框架升级速度跟不上它所集成的其他框架,这导致需要等待uni-app取得最新版的框架,才能更新使用。

3. 产生额外开销:由于uni-app跨平台,代码底层通过webview转译而来,导致程序多余文件体积较大以及性能等方面的问题。

综上,uni-app适用于小型应用和次要应用,性能比较好,开发效率也很高,但在优化和一些特殊功能上还需要进一步提升。对于小型团队和有限的预算的项目,uni-app是一个不错的选择,但在处理庞大的项目时需要更谨慎的评估。

Javascript

书写规范

  • 变量和函数名采用驼峰命名规范,首写字母小写
  • 常量全部使用大写,并以“_”连接单词
  • 尽量使用动词+名词的命名方式,如:”getList”、”setStyle”等
  • JQuery变量必须添加$前缀
  • 关键后空一格
  • 等号两边各空一格
  • 一行语句结束处必须添加“;”
  • 一行过长时,可以另起一行,但与前面的方法对齐,而不是与对象对齐
  • 声明变量或常量时使用Var关键字,防止变量或常量的全局污染
  • 字符串用单引号包裹,如:var myVarName = ‘Sam’
  • 实现鼠标经过效果,尽量采用Css的伪类:hover实现。

在页面引用的位置

所有的JS外部文件的引用应该放到Body标签的结束位置之间,防止页面载入时阻塞

uni-app是一种跨平台的开发框架,具有很多优点,但也存在一些不足之处。下面是我总结的一些好处和坏处:

好处:

1. 跨平台:一份代码可以同时支持多种平台,实现开发效率和代码复用率的提高。

2. 超强的开发体验:Uni-app采用了 Vue.js 作为基础,其在开发体验上不输于 React Native 等跨平台框架,且依赖库、组件库都有较好的UI等开发工具。

3. 功能丰富:Uni-app自带完整的Vue.js生态环境,可以与Vue.js的第三方库无缝对接,支持各种插件。

4. 技术选型可靠:Uni-app采用的是成熟、稳定、开源的技术栈,学习成本低、反响迅速,开发者可以快速入手。

坏处:

1. 兼容问题:由于采用了Webview技术,框架不能百分百模拟原生UI,可能导致兼容性方面的问题。

2. 受限于开发框架更新:因为uni-app是基于Vue.js或React.js等前端开发框架的,一旦开发框架更新,该框架必须跟进更新,这在某种程度上会导致开发者的额外工作量。

3. 应用大小:uni-app成品程序较大,可能会导致开发后应用程序大小较大,并产生较大的启动延迟。

4. 自定义功能的限制:虽然uni-app提供了很多组件和插件,但是在涉及到复杂的自定义功能时,可能无法满足需求。

综上,相对于其他跨平台的框架,uni-app是一种具有优点和局限的框架。它可以帮助开发人员在多个平台上开发一套代码,提高开发效率和代码复用率,并具有优秀的开发体验和功能丰富的特点。然而,uni-app也存在一些不足之处,比如兼容性、开发框架更新、程序体积、自定义功能的限制等。因此,在决定采用uni-app做项目开发前,需要评估其优缺点并作出谨慎决策。

HBuilder是一个跨平台的开发工具,可以使用多种开发语言进行开发,包括前端开发语言(如HTML、CSS、JavaScript等)和后端开发语言(如PHP、Node.js等)。因此,在HBuilder中使用MySQL数据库进行增删改查,可以根据实际使用的语言来进行操作。

以下是使用PHP作为后端开发语言,使用MySQLi扩展库来操作MySQL数据库的示例:

  1. 配置数据库连接信息

在项目中的一个PHP文件中,使用以下代码配置数据库连接信息:

$servername = "localhost"; $username = "root"; $password = "password"; $dbname = "database_name"; // 创建连接 $conn = new mysqli($servername, $username, $password, $dbname); // 检查连接是否成功 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); }

  1. 编写增删改查代码

在需要进行数据库操作的PHP文件中,使用以下代码进行增删改查操作:

// 查询数据 $sql = "SELECT * FROM table_name"; $result = $conn->query($sql); if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { echo "id: " . $row["id"]. " - column_name: " . $row["column_name"]. "<br>"; } } else { echo "0 结果"; } // 插入数据 $sql = "INSERT INTO table_name (column_name) VALUES ('value')"; if ($conn->query($sql) === TRUE) { echo "新记录插入成功"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } // 更新数据 $sql = "UPDATE table_name SET column_name='new_value' WHERE id=1"; if ($conn->query($sql) === TRUE) { echo "记录更新成功"; } else { echo "Error updating record: " . $conn->error; } // 删除数据 $sql = "DELETE FROM table_name WHERE id=1"; if ($conn->query($sql) === TRUE) { echo "记录删除成功"; } else { echo "Error deleting record: " . $conn->error; }

2.编写增删改查代码

result←DBMS.MySQL.ExecuteQuery conn 'SELECT * FROM table_name' :If DBMS.MySQL.RowCount result>0 :For row :In result.Rows 'id:' row.Column 1 ' column_name:' row.Column 2⊣⎕NL 2 :EndFor :EndIf DBMS.MySQL.ExecuteNonQuery conn 'INSERT INTO table_name (column_name) VALUES (\''value\'')' DBMS.MySQL.ExecuteNonQuery conn 'UPDATE table_name SET column_name=''new_value'' WHERE id=1' DBMS.MySQL.ExecuteNonQuery conn 'DELETE FROM table_name WHERE id=1'

以上示例中,‘SELECT * FROM table_name’表示需要执行的查询语句,‘INSERT INTO table_name (column_name) VALUES (’‘value’’)‘表示需要执行的插入语句,‘UPDATE table_name SET column_name=’‘new_value’’ WHERE id=1’表示需要执行的更新语句,'DELETE FROM table_name WHERE id=1’表示需要执行的删除语句。函数ExecuteQuery用于执行查询语句,并返回结果;函数ExecuteNonQuery用于执行插入、更新和删除等非查询语句,不返回结果。

以上示例仅供参考,具体的代码需要根据实际情况进行编写。除了APL Toolbox自带的MySQL数据库API,也可以使用其他第三方的MySQL数据库API进行编码。

各版本浏览器Hack

  1. .all-IE{property: value\9;}
  2. .IE-9{property: value\0/;}
  3. .gte-IE-8{property: value\0/;}
  4. .lte-IE-8{*property:value;}
  5. .IE-7{+property:value;}
  6. .IE-6{_property:value;}
  7. /** Firefox浏览器 **/
  8. @-moz-document url-prefix() {
  9. .firefox{property:value;}
  10. }
  11. /** Opera浏览器 **/
  12. @media all and (-webkit-min-device-pixel-ratio: 0) {
  13. .webkit{property:value;}
  14. }
  15. @media all and (-webkit-min-device-pixel-ratio: 10000), not all and (-webkit-min-device-pixel-ratio: 0) {
  16. .opera{property:value;}
  17. }
  18. /** Webkit内核浏览器(Safari、Chrome) **/
  19. @media screen and (max-device-width: 480px) {
  20. .iphone-webkit{property:value;

前端工程师基本套路

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/231150
推荐阅读
相关标签
  

闽ICP备14008679号