Tag: 应用

评价我的教授应用-Android启动

Hydric Media和Rate My Professors团队最近进行了合作,将每个大学生最喜欢的应用程序在Android上实现。 通过“我的教授的评分”应用,学生可以轻松地在一个屏幕上比较多位教授的评分,难度水平和课堂风格。 该应用程序包含超过1700万条学生评论和全新的搜索功能集,可在创纪录的时间内直接将您带到理想的教授手中。 是否想在本学期安排好班级的课程表? 新的教授匹配功能仅将您与满足您跨课程和专业要求的教授配对。 最重要的是,RMP应用程序允许您通过设置学校,专业,兴趣和学习方式来自定义用户体验,从而在每次使用该应用程序时获得专门为您量身定制的结果。 对于希望负责学期的学生来说,这是必不可少的工具。 在iOS上成功启动之后,Rate My Professors团队开始生产Android版应用程序。 我们再次负责提供应用程序的视觉设计,API集成,Android应用程序开发和质量保证测试。 即使将项目完成日期提前到2017年初发布,我们仍然高兴地看到一切都提前完成。 维亚康姆高级总监乔纳森·菲什曼(Jonathan Fishman)说: “ Rate My Professors”团队与Hydric Media合作,为秋季学期的到来,向大学社区提供了精美,可靠且引人入胜的iOS和Android应用程序。 Hydric在API集成,构建系统和分析方面的专业知识和见解使开发周期得以迅速,顺利地进行。 我们要感谢“评价我的教授”团队在整个合作过程中的辛勤工作和对我们工作室的信任。 我们很高兴将来继续为Android和iOS产品路线图提供增强功能。 一些应用程序的评论: “我曾经使用过’给我的教授打分’网站,并且绝对为有一个全新的iPhone应用程序感到高兴。 这个应用程式运作顺畅,并具备所有基本功能及更多功能。 真的很喜欢教授比较功能。 我会经常使用。 极好的工作! ” “我很高兴看到RMP具有官方应用程序。 这更加方便,并且可以正常工作。 易于阅读和浏览的组织化布局。 这个应用程序特别方便,很快就可以开始上课。 “ 您现在可以在iOS和Android上下载“为我的教授评分”应用。 想要打造下一件大事吗? 我们很乐意与您合作。 向我们发送电子邮件至hello@hydricmedia.com,以使事情进展。

iOS应用程序扩展:在celular中扩展和复制应用程序

Hal algum tempo,作为可重复使用的苹果产品的苹果产品,可互为复制,可用于任何用途的复制品! Esse tipo deprogramaçãofoi batizada de“ iOS App Extensions”。 Estas扩展了部分应用程序的功能,并添加了一些常见的功能,例如,com-se fossem插件,com-se fossem插件,com-bitosó或pro-priópriosistema。 iOS的用户许可协议,forercendo ferramentas的criam uma用户体验可以帮助您完成户事。 Hoje存在23个可扩展的模板。 Elesvãodesde daediçãode fotos,controle de arquivos,widget deaçõespara o diaànotificaçõese teclados customizados: Cada tipo deextensão可为您提供特别的服务。 股份合作公司,股份公司,“股份扩展名”。 自定义的自定义通知,包括通用的自定义自定义自定义使用通知,实用程序“通知内容扩展”。 “自定义键盘扩展”中的Podemos播放器。 Devemos escolher是一个扩展了实施器的基础设施。 扩展名和扩展名,是API的对等扩展名,也就是对扩展名的要求。 Uma延伸点,延伸点,从顶部延伸到全局,然后延伸到Escopo。 Abaixo一个扩展列表指向了iOS的基本版本: Como funcionam? Apesar das扩展了ficarem inclusas no aplicativo,npráticaelas funcionam comobinários独立,rodando fora doplicativo。 没有xCode,则以不同的目标为目标,以通用的组件为目标。 扩展和复制应用程序。 禁止再购买任何产品,不得再使用任何许可。 从整体上说,请从适用于自定义的自定义技术的通用性到适用于自定义的通用性的西斯玛病。 扩展实用程序的扩展点。 […]

Tinkerblocks是最新的儿童编码应用程序

如果父母和教育专家都热衷于孩子们开始编程,那么应用程序商店中将会出现很多学习编码的应用程序。 但是……等一下,等一下,父母GOTO应该先选哪个? (老实说,我什至不知道GOTO在2017年是否仍然是编程命令。当然,我不会陷入1980年代……) 无论如何,本周有一个新的编码应用程序来自开发商Urbn Pockets,后者过去曾开发过一些有趣的儿童应用程序。 Tinkerblocks这个在教育方面加倍。 “有了Tinkerblocks,孩子们就可以通过一种可以触摸的简单编程语言来进行编码,”其App Store列表解释说-对不起,Android人士,目前这仅适用于iOS。 “我们设计了一种切实可行且易于遵循的编码方法,使任何人都可以通过设备的传感器,先进的可能性和您的想象力来创建出色的项目。” Urbn Pockets认为该应用程序将帮助孩子掌握命令,参数,功能,循环,条件,类型和错误消除。 这是一个拖放式系统,可以轻松创建迷你应用程序,从发出警报到拍摄自拍照。 我要说的一件事是,当您的孩子初次使用该应用程序时,它可能需要更多的手动操作:也许是一个指导他们逐步浏览各个代码块的教程。 就是说,与所有人一起进行试验以弄清楚什么也很有趣:对于孩子和父母来说,这可能是一个很好的应用程序。 Tinkerblocks在iPhone和iPad上的售价为1.99英镑,上面还贴了一组iMessage贴纸。

我们的iOS模块化故事

几年前…作为荷兰几十年来著名的零售商,wehkamp已成功地从目录公司过渡到100%电子零售商。 现在是时候在wehkamp探索应用程序世界了。 我们从一个SCRUM团队开始,这个团队有1位Android开发人员,1位iOS开发人员,1位测试人员,一些后退者,Scrum Master和产品所有者。 我们填补了积压的订单,并开始从头开始构建应用程序。 这些应用程序由运行在本地IIS服务器上的.NET API提供支持。 .NET环境已经运行了很多年,并且已经发展成为一个庞大的整体。 微服务和微站点 在随后的几年中,我们作为一个团队主要致力于通过添加功能,改进现有功能以及尽可能为我们的用户优化应用程序来扩展应用程序。 同时,后端.NET应用程序在可维护性,可伸缩性,可靠性等方面已达到极限,我们周围的团队正在努力摆脱这些问题,并转向微服务和微站点。 这是正确的解决方案,效果很好。 初期 在应用程序的早期,收入部分可以忽略不计,因此组织对应用程序团队的压力不大。 我们只是做了自己的事情,就有很多实验的可能性。 我真的不想发动一场(本机)应用程序与网络大战,但是过了一会儿,这些数字告诉人们,大量用户更倾向于使用应用程序。 转化率更高,订单价值更高,参与度更高。 因此,在组织内部,我们受到越来越多的关注,并且增长的需求正在上升。 目前…我们的团队有3个iOS开发人员和2个Android开发人员,我们仍在寻找更多。 历史重演 但是……历史在重复。 几年前,网络已经发展到了同一个方向。 一个大屁股巨石。 在一个人的团队中工作,不必过多地考虑可维护性,可伸缩性和可读性。 当然,我知道团队会成长的一天,所以我试图牢记这一点来实现应用程序的每个部分。 但是有时压力很大,您需要捷径。 避免这种情况是不可能的,但是我试图尽量减少这些捷径。 受其他创建微服务和微站点的团队以及这些准则的启发,我们决定重构我们的应用程序并进行模块化! 这是我们的故事…… 我们的目标是从此出发: 对此: 但是,让我们先说说我们的出发点。 当然,这会影响向模块化方向迈进的步骤,因此更容易说…… 依赖注入FTW 正如我已经提到的,在我刚开始的头几年里,我始终牢记有一天,我们应该成长,并尝试制定尽可能防止将来发生灾难的决策。 确实对我有帮助的一个原则是依赖注入。 我不会对此进行详细介绍,有很多可用的资源。 但是,想法是将实例化注入到类中,而不是在类本身中创建实例化。 这样,您就可以将责任分开,而不是紧缩责任,而松散耦合还是紧密耦合。 我将依赖注入与有意义的面向协议编程结合使用。 这种方法迫使我避免耦合根本不应该耦合的代码部分。 这与依赖注入结合在一起,产生了相当独立的代码部分。 每个功能都有其自己的情节提要板(或有时是多个情节提要,以防止情节提要,团队合并,冲突和地狱)以及与此功能相关的所有其他内容。 如您在图片中看到的,例如有“购物”和“收藏夹”功能。 “收藏夹”功能向我们显示了产品列表,您可以想象用户点击该列表中的产品时希望看到产品详细信息。 产品详细信息视图控制器位于“购物”功能中。 为此,我在“收藏夹”情节提要中添加了对“购物”情节提要的情节提要参考。 而且……我们的分离已经消失了! 第一步; Core和CoreUI与独立性 微型功能实现的重要部分是这些功能应能够独立运行。 有时这可能与DRY(请勿重复自己)原则冲突。 在某些情况下,您必须将代码从一种功能复制粘贴到另一种功能。 我过去经常重复使用尽可能多的代码。 例如; […]

函数式编程:使用Swift

在技​​术行业中,有一种关于编程范例的炒作,对于许多人来说,这是很难理解的:函数式编程。 我不会介绍函数式编程起源的技术性。 因为真的吗 谁在乎? 我们将讨论的是函数式编程,这是通过Swift带来的荣耀。 每个人都知道FP的基础知识:基于函数的编程。 我将以这种基本理解为基础。 在我们深入探讨任何事物之前,让我先列举一下使用FP的原因,这将使FP更好地了解(并且在您难以理解事物时,可以帮助您避免自杀)。 函数式编程的原因 责任划分:由于您编写的所有内容都是基于功能的,因此它可以帮助团队在处理某个功能时更好地进行分工和征服。 因为在FP中,一个功能只能做一件事,而只能做那件事。 松散耦合:在OOP中,我们将类和对象作为构建基块。 每个行为都集中在一个对象中。 所有对象相互连接并相互依赖以执行完整功能。 这导致高耦合。 FP具有独立的功能,可促进松耦合。 可测试:由于上述原因,在OOP中进行测试变得困难。 FP可以轻松解决该问题。 可重用:FP功能如前所述是独立的,这有助于一遍又一遍地使用功能而无需重写。 减少冗余代码 可读性和可维护性:FP允许将代码划分为不同功能所执行的功能。 这消除了混乱和意大利面条的代码,有助于维护和理解代码库。 可追溯性:在FP中,功能是自包含的,因此是独立的。 因此调试和错误解决变得容易。 他们如何自我约束? 我会尽快告诉你 并行性:FP有一个无状态编程原理,我将在下面定义。 它要做的是获取要读取的每个资源的副本,而永远不会在该资源上写入。 这消除了死锁的可能性,并促进了并发操作。 什么是FP? FP遵循三个基本原则: 不变性:FP促进常数。 建议确保您的变量完全不改变值。 还是不经常,如果不可能的话。 无状态编程:FP中的任何功能都不会改变其外部程序/系统的状态。 如果函数将变量的状态更改为超出其自身范围,则它不是FP函数。 无副作用:通过上述行为,FP确保系统所做的一切对系统的任何其他部分均没有影响。 没有意外的数据行为,没有无法追踪的值变化。 这样可以确保每个功能都是独立的和独立的。 我们将在Swift中使用FP涵盖什么 在本节中,我们将讨论FP功能以及Swift中如何支持它们。 代数数据类型 模式匹配 功能 函子 应用程式 因此,现在您可以跳到您感兴趣的标题,而无需全部阅读。 代数数据类型 代数数据是通过组合其他类型而形成的类型。 考虑以下枚举,以供将来使用: 枚举NHLTeam {case canadienscase参议员case rangerscase企鹅caseblackHawkscase首府} enum […]

多少? 确定移动应用程序开发成本的5个步骤

2017/11/29 在考虑为我们自己的业务开发移动应用程序时,我们中的哪个人没有推迟它或在成本方面倾向于极端? 这5个简单的步骤将帮助您更深入地了解开发成本。 步骤1.考虑软件开发成本公式 作为计划开发自己的应用程序的企业主,您首先要担心的是计算公式的形成方式以及为什么要使用它。 研究此问题的一个好方法是估算开发类似应用程序的成本。 在计算开发应用程序的总成本之前,了解小时率的变化非常重要。 这将取决于国家,竞争和发展的复杂性,我们将在下面讨论。 对于经验最丰富的开发商,客户将相互竞争,而这些开发商将自行设定价格,无论他们身在何处。 仅根据开发商的奖励来衡量价值是错误的。 即使您保证了开发人员所需的技能和可接受的付款水平,沟通,文化,信任,工作流程和团队合作对于及时提供工作软件和预算也将变得更加重要。 如果您能够确定开发时间,则可以自己猜测每小时的费率。 北美—每小时50–200 $ 西欧—每小时40–150 $ 东欧—每小时20–60 $ 中东—每小时35–40 $ 您可以将您的应用程序与排名靠前的应用程序进行比较。 例如,诸如WhatsApp之类的开发总共需要花费大约1,157–1,484小时。 以每小时150美元的价格(北美),WhatsApp的价格为173,550美元-222,600美元。 开发像Uber这样的平台的需求方所需的总时间约为421-526小时。 第2步。选择从iOS或Android开始 即使过去几年取得了所有成就,尤其是在设计方面,Android应用程序仍然很难构建。 奇怪的是,Android应用程序的开发时间是iOS应用程序的2至3倍。 因此,如果市场不需要应用程序的目标受众,那么许多人会立即开始使用iOS。 否则,您首先需要在利基市场中进行研究,然后将与目标受众使用的设备和操作系统兼容的应用程序的开发外包。 如果您希望您的应用程序与iOS和Android兼容并在不同的设备上运行,则必须支付更多费用。 这将是预算的另一点-根据平台在不同设备上进行同步。 并且您应该为以下事实做好准备:为此附加功能,您必须支付额外的费用。 步骤3.考虑复杂性因素 第三方集成,管理员控制面板以及诸如蓝牙,GPS,气压计之类的硬件组件的使用,使许多常见功能立即增加了应用程序的成本。 您还需要回答一些问题-您是否正在开发一个可能稍后重写的简单原型? 此应用程序将成为您启动的基础吗? 即使没有任何服务器或API组件的应用程序也可能很复杂。 要获得任何专业公司的高质量应用程序,您通常通常仍需25,000美元起。 没有Web服务器的应用程序没有远程数据。 电子表格应用程序的一些常见示例包括电源调度程序,日历应用程序和电子邮件应用程序。 开发此类应用程序的成本从1,000美元到4,000美元不等。 与第一类不同,将数据存储在远程数据服务器上的应用程序通常允许其用户搜索和输入数据以获得所需的结果。 由于将应用程序连接到远程Web服务器需要更复杂的编程和API,因此这些应用程序的成本更高,范围从8,000美元到50,000美元不等。 第4步。按地区比较费率-从瑞士的104,200美元到乌克兰的36,000美元 如果您打算节省预算,那么“出国”可能是您想到的第一件事。 显然,美国或英国的开发商很昂贵-从每小时50美元到每小时250美元,这比国外市场上的一些贵得多。 尽管澳大利亚,新西兰和瑞士等国家的开发商的收入与美国持平,但最便宜的地区的价格却下降了30%至40%。 如果您正在寻找最便宜的选择,那么最好的将是印度,乌克兰和巴基斯坦,它们的价格最低-每小时不到50美元。 国外有许多有经验的或有超过美国开发商经验的优秀开发商。 尽管有关于价格形成的所有这些一般性声明,但开发的总成本仍将取决于公司的政策。 虽然一个人可以将每小时的价格设置为10美元,而其他人可以将每小时的价格设置为50美元,但最终那些叫价更高的人会更便宜。 一些开发人员对他们的工作时间有很大的偏见。 有些公司让客户掩盖了到底有多少开发人员实际从事其项目,并证明了高昂的天价开发时间是合理的。 保持警惕,选择具有真实透明估计的开发人员。 步骤5.选择合适的团队 […]

一名开发人员进行A / B测试

应用内购买的A / B测试 在过去的几个月中,我被问到许多有关A / B测试的问题。 这些问题来自不同的角度。 它们通常是这样的: 你做过A / B测试吗? A / B测试复杂吗? 您认为A / B测试值得吗? 即使我在A / B测试方面有一定经验,但我仍感觉自己是从不属于我的数据中发言。 因此,我想我将使用自己的一个应用程序创建一个小的公共实验。 这些就是结果。 设置 我有一个名为1RepMax的应用程序。 这是一个举重应用程序,当您执行最大举重程序的百分比时使用。 该应用程序自2010年以来一直存在,并且非常受欢迎。 它在该类别中有一些竞争,但我相信它是用于此目的的顶级应用程序之一。 在过去的一年中,我添加了三项消耗性应用程序内购买,以便用户通过给我小费来欣赏我多年来所做的工作。 我收到了一些提示,但没有什么意义。 因此,我想我应该考虑使用A / B测试来查看它是否对我的数字有所改善。 目前,应用内购买如下所示: 新面貌 在过去的一年中,Overcast播客应用程序的所有者Marco Arment改变了他的商业模式,从应用程序内购买功能解锁转变为顾客模型(Marco现在正在尝试广告,我完全支持,但是那是一篇帖子另一时间)。 赞助人模型很像我在应用程序中所做的事情,但是我称它为小费。 很快让我震惊的是,打电话给这个顾客的支持是一种更好的讨钱方式。 所以我想我可能会改用这种语言。 为什么不将其转换为A / B测试? 经过一番快速研究,我决定跟随Marco的领导,按照他目前的三个方案进行布局。 使用赞助人的术语和三个月的等级来描述用户的期望。 新屏幕如下所示: 在将应用提交到Appstore之前,我要做的另一件事是,将用于启动应用内购买屏幕的加号图标更改为应用程序图标本身的变体。 我这样做是为了吸引该应用程序的长期用户的关注。 就像我提到的那样,此应用程序自2010年以来一直存在,因此我认为进行此更改可能很有意义。 我正在使用我最熟悉的A / B测试工具Optimizely作为此实验的测试工具。 结果 最初发行时,我已将该测试作为A和B段之间的50/50分割加载。 我发现应用内购买数量增加了8%。 三层之间的分布与以前大致相同。 […]

v0.9.5 —媒人

由Armen Youssefian发表于JustHive在2018年7月18日 你知道吗… 根据制片人帕姆·科茨(Pam Coates)的说法,电影结尾处向花木兰鞠躬的人群包装了该团队试图在电影中表达的内容。 花木兰是位女性,因为她对自己的内心和对自己的忠贞不渝,实际上改变了社会的思维方式。 改进之处: 注释工具栏现在仅应出现在文章的末尾。 固定回复评论。 高亮显示所选注释和工具栏的蓝色。 修复了警报/活动中图像加载的问题。 Bug修复。 谢谢您的支持! 我们还有很多其他产品,敬请期待!

iOS开发课程:从Xcode,Git,MVC开始

Xcode中包含哪些控件,如何使用Git保存代码版本,什么是Application类,什么UIViewController生命周期以及介绍Model-View-Controller设计模式… 您是快速编程语言的新手吗? ***立即开始Swift课程! *** 应用程序的应用程序对象的主要作用是处理传入的用户事件的初始路由。 它将控制对象( UIControl类的实例)转发给它的操作消息调度到适当的目标对象。 应用程序对象维护一个打开窗口的列表( UIWindow对象),通过这些窗口可以检索应用程序的任何UIView对象。 进一步了解Apple UIViewController类定义了所有视图控制器共有的共享行为。 您很少直接创建UIViewController类的实例。 相反,您可以继承UIViewController子类,并添加管理视图控制器的视图层次结构所需的方法和属性。 视图控制器的主要职责包括: 通常根据对基础数据的更改来更新视图的内容。 响应用户与视图的交互。 调整视图大小并管理整个界面的布局。 与应用程序中的其他对象(包括其他视图控制器)进行协调。 进一步了解Apple 模型-视图-控制器(MVC)设计模式为应用程序中的对象分配以下三个角色之一:模型,视图或控制器。 该模式不仅定义了对象在应用程序中扮演的角色,还定义了对象之间的通信方式。 三种类型的对象中的每一种都通过抽象边界与其他对象分开,并跨这些边界与其他类型的对象进行通信。 在应用程序中,某些MVC类型的对象的集合有时称为“ 层” ,例如模型层。 MVC对于可可应用程序的良好设计至关重要。 采用这种模式的好处很多。 这些应用程序中的许多对象倾向于更可重用,并且它们的接口倾向于更好地定义。 具有MVC设计的应用程序也比其他应用程序更容易扩展。 此外,许多可可技术和体系结构都基于MVC,并且要求您的自定义对象扮演MVC角色之一。 进一步了解Apple *** GitHub项目*** ***快速的MVC设计模式*** *** Xcode的MVC模块模板*** 你完成了! 拍! 拍! 请记住,成功的秘诀是不断学习和与同事沟通,包括自我教育。 这是有关iOS开发入门的小指南。 在Apple Developer网站上了解更多信息。 不要停止自我教育。 订阅我的帐户以获取有关新故事的通知。 如果您还有问题,请在评论中写。 我将在以后的文章中回答。

重用情节提要视图(非编程方法)

当涉及到重用视图时,许多建议涉及创建XIB文件,扩展UIView类以及覆盖多个初始化程序以通过编程方式加载NIB资源。 有一个更简单的替代方法,它仅处理情节提要,并且不需要任何编码。 首先,将Container视图从对象库中拖放到父视图中。 该容器带有一个空白视图,该视图将用作设计可重复使用组件的工具。 为了将我们的可重用视图包含在其他容器中,我们希望将其重构到自己的情节提要文件中。 幸运的是,在“ 编辑器”菜单中只有一个命令(称为“ 对情节提要进行重构” )。 严格来说,只有当我们在不同的故事板上有多个父母时,这才是必需的,但是我认为无论如何它都可以增加清晰度。 一旦进入独立的情节提要板,我们就可以继续处理我们的视图。 需要注意的一件事是视图如何保留其自己的控制器,而不必受特定设备长宽比的约束。 自动布局约束会像往常一样强制执行,这对于使用NIB方法的传统负载而言并不容易 。 要将视图嵌入其他容器中,我们再次将容器视图对象与库窗格中的情节提要引用结合在一起。 这次,请确保立即删除蝙蝠容器视图附带的空子视图并进行检查。 然后,将控件从容器拖动到情节提要参考上,并选择在viewDidLoad下的Embed以重新创建特殊的脚本。 最后,不要忘记在检查器上配置情节提要参考以指向我们可重用组件的文件。 就是这样,现在组件将在我们告诉它的所有位置进行渲染,并在容器范围内进行适当的布局。