首页 \ 问答 \ 微信小程序有哪些开发方案

微信小程序有哪些开发方案

微信小程序有哪些开发方案 微信小程序有哪些开发方案
更新时间:2023-01-26 21:01

最满意答案

用过这俩,不能说那个复杂那个不复杂,应该认为二者对实现目标有不同的路径,极限的讲,他们可以互相代替,但是,有的路远有的路近,类似两条路都能上山,只不过一条路好走另外一条路风景好。
WebAPI针对数据无状态的通讯可以说一条近路,用起来轻松,不复杂。但是如果你用WebAPI实现页面生成和通讯那您慢慢欣赏景色吧,是条远路。
MVC生成页面等等,非常方便容易,不复杂,但是如果实现数据通信也是没问题的,则不如WebAPI灵活,如遇到特殊需求则可能需要复杂的一些操作。

其他回答

可以说各有优势:mvc纵向切割了开发过程中的代码,从服务器到浏览器层层分离,层次之间耦合度很低,因为它是顺着底层的开发脉络进行封装,所以有利于开发者对整个程序过程流转的理解。但是mvc有一个非常大的缺点,这个缺点是和整个软件发展思路相背离的,那就是它无法封装、无法封装所以无法被重用。有谁看到过mvc下面的组件?有的只是一个个现成的案例,然后拿来修改。因为一个组件肯定牵涉到控制和显示,但是mvc的开发这两个层次是分离的。mvc只适合轻量级的开发,桌面开发是极少用到mvc模式的。然而web开发恰恰就是轻量级,至今所有的web开发都是轻量级的,因为网络硬件条件的限制,不需要也无法做到非常复杂的逻辑。这也是mvc非常非常适合web开发的原因。
     webform是微软前面一套web开发的机制。它横向切割了代码,控制和显示是封装在一起的。它从开发者思维逻辑上而不是实际情况上对代码进行封装,开发webform容易上手的原因也就在此了,但这个不利于开发者对底层程序流转机制的理解。webform中view和controller是放在一起的,webform一出现后,随之而来的是大量的组件诞生,这是mvc模式下看不到的。微软的经验之一是硬件发展很迅速。代码的封装是靠牺牲运行效率来提高开发效率,牺牲的运行效率通过提高硬件性能来解决。但微软在webform上犯了经验主义的错误,这个经验不适合网络硬件,网络硬件要考虑兼容性而且是国家的基础设施,更新的灵活性远比单机要差。大量的组件因为硬件的瓶颈无法给webform带来什么优势。在发展了几年webform后,微软觉得这样下去不行,等到网络硬件发展起来不知道到猴年马月了,所以就抄了一下成熟的mvc,通过entity framework做数据库和对象的映射,很明显,它是为了充当mvc中那个model。通过mvc来控制和展示。
      webform生产关系是比mvc先进的,但是它不适合现在的网络设施生产力,如果要适合说不定要10年后。webform和mvc很好的印证了生产关系必须适合生产力,即使强大如微软也无法改变客观规律。

相关问答

更多
  • 浙师大行知学院[2023-01-25]

    浙江师范大学行知学院成立于 1999 年 8 月 , 经浙江省人民政府批准设立,为民办二级学院。学院于 2004 年11 月被教育部确认为独立学院。学院现共有文学、法学、经济学、教育学、理学、工学、管理学等 7 个学科门类 31 个专业,拥有一支业务精良、专兼结合的师资队伍,学院目前共有全日制本科学生 7099 人。 2004 级学生毕业后授予国家统一印制的浙江师范大学行知学院毕业证书,符合学士学位授予条件的,授予浙江师范大学学士学位。 浙江师范大学行知学院校园环境幽雅,办学条件优良。学院坚持特色质量求生存 ...
  •   知乎作为许多人使用的社交平台,知乎是一款十分多使用者的平台,但是自从改版后有许多新用户以及老用户却不知道了在使用知乎的时候该怎么改名字,其实很简单,一起来看看详细的知乎改名字教程吧。   - - - - - - - - - - - - - 电脑端 - - - - - - - - - - - - -   - ⒈ 登录【知乎】,登录好账号;   - ⒉ 点击右侧个人信息栏,点击【设置】;   - ⒊ 点击【修改】按钮;   - ⒋ 输入希望修改的昵称/姓名即可;   - ⒈ 登录知乎,点击【个人信息】栏; ...
  • 这两个产品都属于开放源码的一员,性能和功能都在高速地提高和增强。MySQL AB的人们和PostgreSQL的开发者们都在尽可能地把各自的数据库改得越来越好,所以对于任何商业数据库使用其中的任何一个都不能算是错误的选择。 MySQL的背后是一个成熟的商业公司,而PostgreSQL的背后是一个庞大的志愿开发组。这使得MySQL的开发过程更为慎重,而PostgreSQL的反应更为迅速。 这样的两种背景直接导致了各自固有的优点和缺点。 1、首先是速度,MySQL通常要比PostgreSQL快得多。MySQL自已 ...
  • 与其说Django-cms是一个内容管理系统,不如说其实一个基础的开发平台。与常规的cms不同,Django-cms并不是一个开箱即用的产品,也没有提供很多内置的模板和主题,让用户快速的搭建一个网站出来。相反,要想使用Django-cms要求用户必须熟悉Django,其搭建的的过程很"像"一个是用Django开发的过程。 本文根据一天的文档阅读心得总结而来。 从结构上来说Django-cms包含以下内容: 1、一个基础框架: 多站点支持——好吧,其实是Django的 多语言支持。没个页面可以有不同语言的版本 ...
  • 用过这俩,不能说那个复杂那个不复杂,应该认为二者对实现目标有不同的路径,极限的讲,他们可以互相代替,但是,有的路远有的路近,类似两条路都能上山,只不过一条路好走另外一条路风景好。 WebAPI针对数据无状态的通讯可以说一条近路,用起来轻松,不复杂。但是如果你用WebAPI实现页面生成和通讯那您慢慢欣赏景色吧,是条远路。 MVC生成页面等等,非常方便容易,不复杂,但是如果实现数据通信也是没问题的,则不如WebAPI灵活,如遇到特殊需求则可能需要复杂的一些操作。
  • 知网官网,学校使用的知网查重入口地址http://www.cnki.net/,此入口只有高校,期刊社等机构版用户被授权使用,普通学生个人用户无法登陆。 知网官网,个人用户知网查重入口http://www.ccnki.cc,此入口是知网授权的个人查重入口,对接的系统与学校用的入口是一个,可以保证结果与学校结果是一样的。此接口每人每天限提交2篇文章,报告支持验证真伪。

相关文章

更多

最新问答

更多
  • h2元素推动其他h2和div。(h2 element pushing other h2 and div down. two divs, two headers, and they're wrapped within a parent div)
  • 创建一个功能(Create a function)
  • 我投了份简历,是电脑编程方面的学徒,面试时说要培训三个月,前面
  • PDO语句不显示获取的结果(PDOstatement not displaying fetched results)
  • Qt冻结循环的原因?(Qt freezing cause of the loop?)
  • TableView重复youtube-api结果(TableView Repeating youtube-api result)
  • 如何使用自由职业者帐户登录我的php网站?(How can I login into my php website using freelancer account? [closed])
  • SQL Server 2014版本支持的最大数据库数(Maximum number of databases supported by SQL Server 2014 editions)
  • 我如何获得DynamicJasper 3.1.2(或更高版本)的Maven仓库?(How do I get the maven repository for DynamicJasper 3.1.2 (or higher)?)
  • 以编程方式创建UITableView(Creating a UITableView Programmatically)
  • 如何打破按钮上的生命周期循环(How to break do-while loop on button)
  • C#使用EF访问MVC上的部分类的自定义属性(C# access custom attributes of a partial class on MVC with EF)
  • 如何获得facebook app的publish_stream权限?(How to get publish_stream permissions for facebook app?)
  • 如何防止调用冗余函数的postgres视图(how to prevent postgres views calling redundant functions)
  • Sql Server在欧洲获取当前日期时间(Sql Server get current date time in Europe)
  • 设置kotlin扩展名(Setting a kotlin extension)
  • 如何并排放置两个元件?(How to position two elements side by side?)
  • 如何在vim中启用python3?(How to enable python3 in vim?)
  • 在MySQL和/或多列中使用多个表用于Rails应用程序(Using multiple tables in MySQL and/or multiple columns for a Rails application)
  • 如何隐藏谷歌地图上的登录按钮?(How to hide the Sign in button from Google maps?)
  • Mysql左连接旋转90°表(Mysql Left join rotate 90° table)
  • dedecms如何安装?
  • 在哪儿学计算机最好?
  • 学php哪个的书 最好,本人菜鸟
  • 触摸时不要突出显示表格视图行(Do not highlight table view row when touched)
  • 如何覆盖错误堆栈getter(How to override Error stack getter)
  • 带有ImageMagick和许多图像的GIF动画(GIF animation with ImageMagick and many images)
  • USSD INTERFACE - > java web应用程序通信(USSD INTERFACE -> java web app communication)
  • 电脑高中毕业学习去哪里培训
  • 正则表达式验证SMTP响应(Regex to validate SMTP Responses)