Skip to content

jorsilver/Blockly_App_Developer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

358 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Project Genesis

Tony Bautista, Aidan Lewis-Grenz, Jordan Silver

To View the project summary video, click this link: Genesis Summary Video

To View the Project download and explanation, click this link: Genesis Download and Explanation Video

To start the program, click this link: App Builder

Link to Swift Developer Documentation: Developer Documentation

Motivation and Description:

The motivation for this project is that there are a lot of apps being created nowadays but it isn't straightforward and not many people understand not only how to build them but also how to use the language Swift. On top of that, it can be hard to get started on a new project. This project will help developers and new developers easily get started on projects and learn about how the Swift language works. The goal is to give the user the choice between beginner level and experienced level. The beginner level will slowly allow you to create blocks and have more blocks appear as you go along, making sure that you build your program correctly, giving you only access to blocks that will work with your code rather than giving you access to all blocks. We hope that this will help inexperienced users learn how to use Swift code and help them create their first project. For the experienced level, it will give you access to all blocks and will not help you or limit access to all the blocks.

We currently have one of the described modes created at the moment, and that is the expert mode. to run the code, click the link above or fork our code and run the index file. after running it, press "Start Blockly". You can grab blocks from the left-hand library, place them into the middle box, and connect blocks to each other. After creating something in the blockly code, you can generate the swift code to show you what you have created, or you can download it using the "download swift" button to download a file named 'generated.swift' with all the code you have generated. You can copy this file into a new Xcode project, and your application will be created.

Relation to Parsing, Interpretation, and Compilation:

Parsing in the App Builder Project:

In the context of our App Builder Blockly project, parsing is analogous to the process by which the system reads and understands the sequence of code set by the user. Just as a computer parser reads and checks the syntax of a code to ensure it is structured correctly, the app project parses the input code sequence to ensure it's a valid representation of swift information. For instance, the system would ensure that only the correct inputs in each variable are used in an appropriate correlation with the blocks surrounding it. This step is vital as it sets the foundation for subsequent processes, ensuring that only accurate blockly code is used for replication, transcription, and translation into swift code that will later be used in an application like Xcode.

Interpretation in the APP Builder Project:

In this project, interpretation can be compared to the transcription and translation processes of blockly code to swift code. In programming, interpretation involves reading the source code line by line and executing it directly without prior conversion to another form. Similarly, in the project, the 'interpretation' phase reads the blockly sequence, transcribes it to Swift code, and then translates it into a page that is readable by a different system that has a better understanding of Swift. This is a dynamic process where the blockly 'instructions' are read and directly transformed into a functional outcome, much like how an interpreter handles code.

Compilation in the APP Builder Project:

Compilation in computer science refers to converting source code into machine code. In our App project, the act of code replication embodies this concept. The original Blockly sequence is compiled into a new, complementary Swift code strand. This replication ensures that the Swift style of instructions is preserved and can be passed on.

Future Work:

As we chart the course for our project's future, we're considering the implementation of two distinct modes tailored to different user proficiencies. These modes will grant users the ability to immerse themselves in an experience crafted specifically for them, offering a choice between a beginner-friendly mode and an intermediate-level mode. This strategic approach ensures our application's adaptability, catering comprehensively to users across varying skill levels, thus enriching their overall interaction.

In the beginner-friendly mode, the application will intelligently limit users' access to specific blocks based on their prior usage, fostering a guided learning experience. Users will only be able to utilize blocks that logically align with their current progress, ensuring a cohesive and understandable workflow. Moreover, this mode will incorporate a helpful feature allowing users to hover over a block and instantly access a concise description, aiding comprehension of the block's functionality and intended use.

Conversely, the intermediate-level mode will offer unrestricted access to all blocks, empowering users with greater freedom and versatility in their creative endeavors. Additionally, users in this mode will have access to the same descriptive support available in the beginner-friendly mode, facilitating a seamless transition between skill levels and providing assistance whenever needed.

Contributions:

Aidan:

Tony:

Jordan:

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors