Honeycode:使用无代码构建应用程序的3个步骤

The world of web development is going through rapid changes. It is now, more than ever before, a world driven by components, with tools like Bit (Github) making the distinction between building components and composing apps, clearer than ever.

Web开发的世界正在经历快速的变化。 如今,由组件驱动的世界比以往任何时候都更加重要,例如Bit ( Github )之类的工具使构建组件和编写应用程序之间的区别比以往更加清晰。

Components are created as independent building blocks, shared on a component hub (e.g, Bit.dev), and used by others to create new compositions.

组件被创建为独立的构建块,在组件中心(例如Bit.dev )上共享, 并被其他人用来创建新的合成。

Image for post
Example: React components shared on Bit.dev
示例:React在 Bit.dev上共享的组件

This, of course, opens the way to more abstract and low-code app development. For example, in the world of React, there is quite an explosion of visual editors that make use of React components to bridge the gap between code and low-code.

当然,这为更抽象和低代码的应用程序开发开辟了道路。 例如,在React的世界中,大量的可视化编辑器利用React组件来弥合代码和低代码之间的鸿沟。

Having said that, some tools go a step further in delivering a “no-code” solution for app development. One of these tools is Amazon Honeycode.

话虽这么说,某些工具在为应用程序开发提供“无代码”解决方案方面走得更远。 这些工具之一是Amazon Honeycode

When I heard the new launch of Amazon Honeycode, I was curious about the “No-code Application Development.” So I built a Honeycode app to try that out.

当我听到Amazon Honeycode的新发布时,我对“无代码应用程序开发”感到好奇 因此,我构建了一个Honeycode应用程序来进行尝试。

In this article, I’ll share my experience with Honeycode. Does it really eliminate the need for programming?

在本文中,我将分享我在Honeycode方面的经验。 是否真的消除了编程需求?

什么是Honeycode? (What is Honeycode?)

Amazon Honeycode is a fully managed service that was recently released by AWS. It helps you build three-tier business applications without coding.

Amazon Honeycode是AWS最近发布的一项完全托管的服务。 它可以帮助您构建三层业务应用程序而无需编码。

Honeycode apps can,

Honeycode应用程序可以

  • Run-on Web

    运行网络
  • Run-on Mobile via Honeycode Android and iOS apps

    通过Honeycode AndroidiOS应用运行手机

  • Share data in real-time with the users

    与用户实时共享数据
  • Personalize data for users

    为用户个性化数据
  • Automatically send notifications

    自动发送通知
  • Manage business workflows

    管理业务工作流程

它基于电子表格! (It’s Based on Spreadsheets!)

Honeycode apps are based on spreadsheets. So If you have some knowledge about Spreadsheets, Amazon Honeycode is an excellent choice for building business apps!

Honeycode应用基于电子表格。 因此,如果您对电子表格有所了解,那么Amazon Honeycode是构建业务应用程序的绝佳选择!

An Honeycode app uses,

Honeycode应用程序使用

  • Spreadsheet tables as the database tables

    电子表格表作为数据库表

  • Spreadsheet formulas to implement business logic

    电子表格公式以实现业务逻辑

  • Drag-and-drop application builder to create user Interfaces.

    拖放应用程序构建器以创建用户界面。

In fact, it adds more functionalities on top of spreadsheet tables and formulas to make them suitable for building powerful apps.

实际上,它在电子表格表和公式的基础上增加了更多功能,使其适合于构建功能强大的应用程序。

Honeycode的目的是什么? (What is the Purpose of Honeycode?)

Most businesses use spreadsheets to share data with employees. However, spreadsheets have many drawbacks.

大多数企业使用电子表格与员工共享数据。 但是,电子表格有很多缺点。

  • Hard to manage security

    难以管理的安全性
  • Susceptible to costly human errors

    容易遭受代价高昂的人为错误
  • Hard to prevent users from accessing unauthorized sections in the spreadsheet

    难以阻止用户访问电子表格中未经授权的部分
  • Difficult to send update notifications for selected users

    难以发送所选用户的更新通知
  • It’s boring to work on a spreadsheet without a friendly user interface after all.

    毕竟,在没有友好的用户界面的情况下处理电子表格很无聊。

So, how can we overcome these drawbacks? One of the solutions would be to develop custom apps to replace spreadsheets. But it is a costly approach. Your IT department may not have enough budget and resources to build such apps.

那么,我们如何克服这些缺点呢? 解决方案之一是开发自定义应用程序以替换电子表格。 但这是一种昂贵的方法。 您的IT部门可能没有足够的预算和资源来构建此类应用程序。

Now, this is where Amazon Honeycode comes in handy. It helps in solving all of the above problems by enabling businesses to build custom apps based on existing spreadsheets with no-code.

现在,这是Amazon Honeycode派上用场的地方。 它使企业能够基于现有的无代码电子表格构建自定义应用程序,从而有助于解决上述所有问题。

您可以用它构建什么? (What can you Build with it?)

Amazon Honeycode is ideal for building Line of business(LBO) applications. Here are some apps that you may build with Honeycode.

Amazon Honeycode是构建业务线(LBO)应用程序的理想选择。 这是您可能使用Honeycode构建的一些应用程序。

  1. Event Management

    事件管理
  2. Inventory Management

    库存管理
  3. Field Service Agent

    现场服务代理
  4. Customer Tracker

    客户追踪器
  5. Surveys

    调查
  6. Team Task Tracker

    团队任务追踪器
  7. Purchase Order(PO) Approvals, etc.…

    采购订单(PO)批准等…

In fact, Amazon provides a template library for the above apps to help you get started with Honeycode quickly.

实际上,Amazon为上述应用程序提供了模板库 ,可帮助您快速入门Honeycode。

使用Honeycode构建应用的3个步骤 (3 Steps of Building an App with Honeycode)

When building an app with Honeycode, you should follow three steps. (The 3rd step is optional)

使用Honeycode构建应用程序时,应遵循三个步骤。 (第三步是可选的)

  1. Create spreadsheet tables to act as database tables

    创建电子表格表以用作数据库表
  2. Create app screens based on the tables with business logics

    根据具有业务逻辑的表创建应用程序屏幕
  3. Add “Automations” if required

    如果需要,添加“自动化”

Let’s explore more about these steps using an example of a Time Reporting App.

让我们使用Time Reporting App的示例来探索有关这些步骤的更多信息。

时间报告应用 (Time Reporting App)

Imagine your company needs a way to track the working hours of employees who work from home. The management decides to use Honeycode to build an app that is accessible over the web and mobile.

想象一下,您的公司需要一种方法来跟踪在家工作的员工的工作时间。 管理层决定使用Honeycode来构建可通过Web和移动设备访问的应用程序。

要求 (Requirements)

Employees should be able to select the project and report time on a daily basis. As soon as a time entry is added, the corresponding project lead should be notified about it. The project lead will then approve the time entries of the team. Additionally, employees should be able to view the historical time logs, and project leads should be able to view a list of approved time logs of the team.

员工应该能够选择项目并每天报告时间。 添加时间条目后,应立即通知相应的项目负责人。 然后,项目负责人将批准团队的时间条目。 此外,员工应该能够查看历史时间日志,项目负责人也应该能够查看团队已批准的时间日志列表。

时间报告应用概述 (Time Reporting App Overview)

Image for post

员工和项目负责人的两个应用程序 (Two Apps for Employees and Project Leads)

To implement the above requirement with Honeycode, let’s create two applications that consume the same set of tables. (See the above diagram)

为了用Honeycode来实现上述要求,让我们创建两个使用同一组表的应用程序。 (见上图)

  1. Time Report App — Employees will log in to this app and report time.

    时间报告应用程序 —员工将登录此应用程序并报告时间。

  2. Time Approval App — Project leads will log in to this app and approve the time entries of the team

    时间批准应用程序—项目负责人将登录到此应用程序并批准团队的时间条目

步骤01 —创建表 (Step 01 — Creating the Tables)

Let’s use the following three tables to store time entries and projects.

让我们使用以下三个表来存储时间条目和项目。

  1. TimeLogs Table

    时间记录表
  2. Projects Table

    项目表
  3. Status Table

    状态表

The TimeLogs table acts as the data source for both Time Reporting App and Time Approval App.

TimeLogs表充当Time Reporting App和Time Approval App的数据源。

Image for post
TimeLog Table
时间记录表

表格栏格式 (Table Column Formats)

The TimeLog table has multiple columns/fields to store data. Each column has a data format.

TimeLog表具有多个列/字段来存储数据。 每列都有一种数据格式。

员工专栏 (Employee Column)

Image for post

Let’s set the format for the Employee Column to “Contact”. It is a special format provided by Honeycode which will reference the users of the application.

让我们将“ 雇员”列的格式设置为“ 联系人” 。 这是Honeycode提供的一种特殊格式,将引用该应用程序的用户。

项目专栏 (Project Column)

Image for post

The Project Column format is “Rowlink”. It is used to reference other tables. In this case, the Projects Table is linked with the Project column to pick the project from a dropdown menu when creating a time entry.

项目列格式为“行链接” 。 它用于引用其他表 。 在这种情况下,“项目表”与“项目”列链接以在创建时间条目时从下拉菜单中选择项目。

Here is how the Project Table looks like.

这是项目表的外观。

Image for post
Project Table — Each project has a name a project lead
项目表—每个项目都有一个项目负责人的名字

日期栏 (Date Column)

The Date Column format is “Date”. It’s used to manage date operations.

日期列格式为“ 日期”。 用过的 管理日期操作。

工作日志专栏 (Worklog Column)

Worklog column is used to store the work log description of the employees. The format of Worklog Column is “Plain Text”.

工作日志列用于存储员工的工作日志描述。 工作日志列的格式为“ 纯文本”

InTime和OutTime列 (InTime & OutTime Columns)

Both of these columns use “Time” as the column format. That will help the table to understand and interpret time entries from the employees.

这两个列均使用“ 时间”作为列格式。 这将有助于表格理解和解释员工的时间条目。

状态栏 (Status Column)

The Staus column also has the format of “Rowlink”. It’s referencing the status table. So when project leads are approving time entries, they can pick the status from a dropdown list.

Staus列的格式也为“ Rowlink” 。 它引用状态表。 因此,当项目负责人批准时间条目时,他们可以从下拉列表中选择状态。

Image for post
Status Table — It has only one attribute ‘Status’
状态表-它只有一个属性“状态”

Note: The Status column is hidden in the Time Reporting App. When a new time entry is added, the Status is set to “Pending” by default. A project lead who uses the Time Approval App can change the status to Approved or Rejected.

注意 :“状态”列在时间报告应用程序中是隐藏的。 添加新的时间条目后,默认情况下状态将设置为“待处理”。 使用“时间批准”应用程序的项目负责人可以将状态更改为“已批准”或“已拒绝”。

步骤02 —使用业务逻辑创建应用程序屏幕 (Step 02 — Creating App Screens with Business Logics)

My favorite way of using the app builder is via the App builder Wizard. The app builder wizard creates all the screens for a given table in one-click. These screens include,

我最喜欢的使用应用程序构建器的方法是通过应用程序构建器向导 。 应用程序构建器向导一键式创建给定表的所有屏幕。 这些屏幕包括:

  1. List Item Screen

    清单项目屏幕
  2. Detail Screen

    详细画面
  3. Create Form

    建立表格
  4. Other Screens for Linked Tables

    链接表的其他屏幕

In addition to the wizard, the app builder provides UI components that can be dragged and drop to the application screens. We can also customize these components with custom styles and themes.

除了向导外,应用程序构建器还提供可拖放到应用程序屏幕上的UI组件 。 我们还可以使用自定义样式和主题来自定义这些组件。

Image for post
Time Reporting App — List item screen
时间报告应用程序-列表项屏幕

UI组件的数据源 (Data Sources for UI Components)

Once UI components are added to a screen, we need to attach data sources to bring them to life. There are two types of data sources.

将UI组件添加到屏幕后,我们需要附加数据源以使它们栩栩如生。 有两种类型的数据源。

  1. Table — Spreadsheet table can directly be assigned as the data source to the component

    表-电子表格表可以直接分配为组件的数据源
  2. Filter — Create a formula to filter some custom data from a table and set that as the data source for the component.

    过滤器-创建公式以从表中过滤一些自定义数据,并将其设置为组件的数据源。

Here is an example. Let’s set the TimeLogs Table as the data source for the List Component in the Time reporting app. (See the above figure)

这是一个例子。 让我们将TimeLogs表设置为时间报告应用程序中列表组件的数据源。 (见上图)

We can select the List Component and set the data source from properties, as shown below.

我们可以选择List Component并从属性中设置数据源,如下所示。

Image for post

个性化 (Personalization)

Once employees logged into the Time Reporting App, they should only see their own time entries. The list has to be personalized to a logged-in employee.

员工登录时间报告应用程序后,只能看到自己的时间条目。 该列表必须针对已登录的员工进行个性化设置。

Image for post

We can quickly achieve that by selecting the user-specific column for the TimeLogs table, as shown in the image above.

我们可以通过为TimeLogs表选择用户特定的列来快速实现,如上图所示。

使用公式处理业务逻辑 (Handling Business Logics with Formulas)

Now, most business applications have various business logic. Amazon Honeycode uses spreadsheet Formulars to implement that business logic. You can find both standards and Honeycode specific formulas here. By combining multiple formulas, we can also implement complex business logic for our applications.

现在,大多数业务应用程序具有各种业务逻辑。 Amazon Honeycode使用电子表格编制器来实现该业务逻辑。 您可以在此处找到标准和Honeycode特定的公式。 通过组合多个公式,我们还可以为应用程序实现复杂的业务逻辑。

业务逻辑示例 (Business Logic Example)

Let’s imagine a Project Lead login to the Time Approval App to bulk approve some time entries. The app needs to retrieve time entries of all team members of all the projects that he/she is leading. We also have to make sure that a project lead will see only the Pending time entries on the landing page. He/She can view all the completed time entries on the History page if required.

假设有一个项目负责人登录到时间批准应用程序以批量批准一些时间条目。 该应用程序需要检索他/她领导的所有项目的所有团队成员的时间条目。 我们还必须确保项目负责人在登录页面上只会看到“ 待处理时间”条目 。 如果需要,他/她可以在“历史记录”页面上查看所有已完成的时间条目。

Image for post

So how do we accomplish it?

那么我们如何实现呢?

Let’s create a Filter using a spreadsheet formula and set it as the data source of the List Item Component. We have also used global variables like $[SYS_USER] that maps to the currently logged in user.

让我们使用创建一个过滤器 一个 电子表格公式,并将其设置为“列表项组件”的数据源。 我们还使用了诸如$ [SYS_USER]之类的全局变量,该变量映射到当前登录的用户。

=FILTER(TimeLogs, "TimeLogs[Project][Lead]=$[SYS_USER] AND TimeLogs[Status]=""Pending""")

The above filter will return the pending time entries of all team members of all the projects where the logged-in user is the Project Lead.

上面的过滤器将返回所有项目的所有团队成员的待处理时间条目,其中已登录用户是项目负责人。

步骤03 —添加自动化 (Step 03 — Adding Automations)

Another advantage of Honeycode is the ability to automate manual tasks. This includes notifying users when certain events happen.

Honeycode的另一个优点是能够自动执行手动任务。 这包括在某些事件发生时通知用户。

In Time Reporting App, we need to notify Project Leads when a team member logs a time entry. So the Project Lead can log in to the Time Approval App and approve it.

时间报告应用程序中,当团队成员记录时间条目时我们需要通知项目负责人。 因此,项目负责人可以登录到时间批准应用程序并进行批准。

Image for post

We can easily accomplish it by using Honeycode Automation. As shown in the image above, we can send to notifications the corresponding Project Lead when an employee is submitting a time entry.

我们可以通过使用Honeycode Automation轻松完成它 如上图所示,当员工提交时间条目时,我们可以将相应的项目负责人发送给通知。

摘要 (Summary)

  • Amazon Honeycode is ideal for building line-of-business applications without coding.

    Amazon Honeycode是构建无需编码的业务线应用程序的理想选择。
  • Honeycode apps use spreadsheet tables as databases. You can create one or more tables with different column formats and relationships.

    Honeycode应用程序将电子表格表用作数据库。 您可以创建一个或多个具有不同列格式和关系的表。
  • Use the powerful Honeycode Wizard to build an app in one-click. You can edit generated screens later with customized styles and UI components.

    一键使用强大的Honeycode向导来构建应用程序。 您以后可以使用自定义样式和UI组件编辑生成的屏幕。

  • You can create multiple applications based on one or more tables to suit your business requirements. E.g., Admin App and User App.

    您可以基于一个或多个表创建多个应用程序以满足您的业务需求。 例如,管理应用程序和用户应用程序。

  • Implement business logic with spreadsheet formulas. You can use both standard formulas and Honeycode specific formulas to build simple and complex expressions.

    使用电子表格公式实现业务逻辑。 您可以同时使用标准公式和Honeycode特定公式来构建简单和复杂的表达式。
  • Use Automations to harness the full power of Honeycode. The Automations are useful to automate tasks such as notifying selected team members, Send reminders to users, run expressions upon specific dates and times, etc.…

    使用自动化来利用Honeycode的全部功能。 自动化对自动化任务很有用,例如通知选定的团队成员,向用户发送提醒,在特定的日期和时间运行表达式等。

  • Share your application on mobile so your team members can use it on the go.

    在移动设备上共享您的应用程序,以便您的团队成员可以随时随地使用它。

结论 (Conclusion)

Amazon Honeycode is still in the beta version. We can expect more updates in the upcoming months. If you are familiar with spreadsheets, you can build web and mobile apps with zero effort.

Amazon Honeycode仍处于beta版本。 我们预计在接下来的几个月中会有更多更新。 如果您熟悉电子表格,则可以轻松创建Web和移动应用程序。

However, the following points are worth noting.

但是,以下几点值得注意。

  • Honeycode mobile apps cannot be published directly to App Stores at the time of writing this article. But you can use the official Honeycode App for iOS and Android to distribute your custom apps.

    在撰写本文时,Honeycode移动应用程序无法直接发布到App Store。 但是您可以使用适用于iOSAndroid官方Honeycode应用来分发您的自定义应用。

  • You don’t have to write programming code, But you may have to write expressions with spreadsheet formulas to implement business logic.

    您不必编写程序代码,但是您可能必须编写带有电子表格公式的表达式以实现业务逻辑。
  • Refer to Honeycode app templates to get started with Amazon Honeycode.

    请参阅Honeycode应用程序模板以开始使用Amazon Honeycode。

I hope this lengthy article may have helped you to understand about Amazon Honeycode and its use-cases.

我希望这篇冗长的文章可能有助于您了解Amazon Honeycode及其用例。

Thanks for reading and if you have any questions, let me know in the comments below :)

感谢您的阅读,如果您有任何疑问,请在下面的评论中让我知道:)

Cheers!

干杯!

相关故事 (Related Stories)

翻译自: https://blog.bitsrc.io/honeycode-3-steps-to-build-apps-with-no-code-6a9558c0c01c

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值