我记得我有史以来第一个Ionic应用程序。 那是我25岁生日的一个周末。 我本来应该庆祝,但是反而发现自己兴奋地为前一天晚上制作的计算器应用程序运行了构建命令。 有人告诉我,生日应该是您一年中的特殊日子。 我用我的东西来学习一个新的框架,并喜欢它的每一刻。
几年后的今天,我从那天起就没有机会选择这个框架。 生活发生了。 工作发生了。 或者更确切地说,工作跟随我回家,并接管了我过去用于学习的所有时间。 但这是一个不同的故事。
在过去的几天里,我一直在关注Ionic,但是自从我上一次接触它以来,其他框架蓬勃发展并获得了关注。 这有点像React从无处不在地变得比Angular受欢迎(如果不是更多的话)。 这里列出了一些其他框架,这些框架在我重新评估为移动开发选择哪个框架时看起来很有希望。
本机脚本
我不知道NativeScript存在,直到发现它是我正在查看的远程作业的要求之一。 正是在这一刻,我的脑海里响起了一些声音,使我意识到Ionic并不是唯一的框架。
NativeScript在Apache 2.0下获得了许可-这使其成为免费和开源的。 MIT许可证和Apache许可证之间的最大区别是字数。 Apache许可证与MIT具有相同的核心免费开源思想。 但是,Apache与MIT不同,因为它明确允许将专利附加到使用该框架制作的应用程序中-但前提是您不要四处起诉使用该框架作为侵权理由的其他人。
我需要对许可证的总体内容及其潜在的法律影响进行更多研究-也许在以后的文章中。
无论如何,回到NativeScript。
该框架吸引了超过400万次npm下载。 通过Envato Tuts +和scotch.io等主要网站提供的教程,学习资源看起来非常扎实。 YouTube融合了商业和个人开发人员,为NativeScript生态系统做出了贡献。
该框架于2015年首次公开发布,比2013年首次发布的Ionic早2年。它支持Angular,Vue.js和普通JavaScript的TypeScript。 确实没有任何东西明确表明它支持React。 但是React有React Native,所以也许没有必要。
反应本机
React Native是自我描述的。 它是为React构建的,因此学习的开销很小。 就像编写一个React应用程序一样,但是React Native具有基本框架。 React Native的好处是它已针对React进行了完全优化。
这对我来说真的不起作用,因为我先是沿着Angular路线走了。
目前,Facebook(其主要创建者),Skype,Pinterest和Walmart等知名品牌都在使用它。
有关许可的大戏,但现在已经获得了MIT许可。 从那时起,社区真正开始了自己的比赛,而React几乎在我遇到的所有工作委员会中都有很高的需求。
此外,还有大量的学习资源(包括免费和付费),当您刚开始学习时,它们会非常方便。 但是,如果您不了解React,则意味着您也需要学习这一点。
流星
我记得一个人在聚会上谈论流星的神奇。 它支持React,Vue,Angular和MongoDB —使其成为灵活的解决方案。 该框架最初在2012年获得1120万美元的种子资金,并在其B轮融资中获得2000万美元的种子资金。
由于大量的种子资金,该框架能够启动并增加他们的用户群,社区很快获得了支持。 他们还通过其Galaxy托管服务通过为Meteor应用提供网络托管,成功地通过其用户群获利。
自由+商业结构(类似于WordPress在其免费的MIT许可证和WordPress商业方面的结构方式)意味着该框架由商业支持的实体和社区积极维护和更新。 发生这种情况时,通常可以保证,如果遇到困难,通常可以通过Google搜索获得帮助。
阿帕奇·科尔多瓦(Apache Cordova)
Apache Cordova(最初称为PhoneGap)早在2009年就已存在,并在旧金山的iPhoneDevCamp活动中创建。 与其他所有人相比,Apache Cordova就像是30多岁的年轻人,一个充满青少年和20多岁的房间。
该框架是免费的,并得到Adobe的支持。 但是,社区精神的第一印象并不像其他社区那样强烈。 有很多专业制作的资源,例如书籍和基于Microsoft的博客文章,但社区驱动内容的方式却很少。 YouTube上的功能更多,但我的首页搜索结果中有45%是印地文和阿拉伯文。 对于视频背后的人们来说,这是很棒的工作,但是对于我来说,这对于英语使用者来说是一个障碍。
当我决定一个框架时,我通常会选择一些具有强大社区支持的东西。 这是出于自私的学习原因。 如果您只用Google就能知道Error xxx的含义,而不用花半天的时间来找出问题出在哪里,那么这将节省更多时间。
扑
Flutter是最新出生的婴儿。 该框架于2017年5月由Google推出,承诺将“通过单个代码库在iOS和Android上构建漂亮的本机应用程序”。 Google的徽标无处不在,以确保您知道是谁制作的。
他们还提供有关如何在iOS,Android,Web上应用您的知识,对Flutter响应本机和Xamarin知识的文档,这是非常方便的功能。
在社区方面,Flutter虽小,但仍在增长。 可用的内容和学习材料比Ionic,NativeScript和Meteor小得多,但是有雏形的迹象。 Flutter似乎是随着越来越多的人使用而逐渐发展的平台之一。 他们与Google无关的最大的招贴子是阿里巴巴。
乍一看,如果您以前从未做过任何形式的移动开发,那么您将学到一种全新的方法-包括语法和概念。 尽管Ionic,NativeScript和Meteor的学习曲线并不那么大,但Flutter最初可能需要一点大脑。 但是,如果您打算开始进行原始的移动开发(即,不是基于JavaScript),那么Flutter可能是一个不错的选择。
最后的话
由于它们强大的社区,丰富的资源以及所有人都明确支持Angular,因此我可能会在几周后完全跳入Ionic,NativeScript或Meteor。 但是在做出决定之前,我必须首先从头开始再完成一些Angular应用程序。
就我个人而言,React Native,Apache Cordova和Flutter不在我的名单上。
我可以开始学习React,但是我决定花一整年的时间-这意味着在我精通正在研究的框架之前,不会跳动任何框架。 我宁愿只讲一种语言,也不愿意中庸于许多语言。 此外,如果您以前已经经历过另一门语言,那么使用一种新语言来学习和识别更难的概念,知识和怪癖会更容易。