NetsBlox Services

Services

  • Services represent different capabilities that the user can "opt in for."
  • These include:
    • RPC's (maybe called "Helpers")
    • Message Types
    • Project Count
    • Purposes (formerly called "Game Types")
  • Services are used like multiple inheritance (or like mixins in Javascript) allowing a single project to have a multiple services

Service Types

RPCs

  • RPCs (remote procedure calls) provide
    • Assistance for students by performing trickier tasks
    • Access to external functionality not otherwise available
      • Google Maps API
      • Earthquakes API
  • Imported like Snap! libraries

Message Types

  • Provide structure to the communication between NetsBlox projects
  • Example:

Message Type Rules

  • Message types can have associated rules about their use
  • For example, a TicTacToe message type may have rules about when it can be sent. That is, it may need to wait until all other players have sent a TicTacToe message

Project Count

  • Project count specifies the number of projects that can received messages from one another
    • Similar to chat rooms
  • Every project has an associated project count
    • Initial project count is infinite (a single global room)

Purposes

  • Purposes provide information about the intention or goal of the project (eg, TicTacToe, Weather, etc)
  • A purpose may also include the following to achieve their task
    • Project Count (required)
    • Message types
    • RPC's
  • Every project has exactly one purpose
    • Added to a "General" purpose on creation
    • New purposes can be created by the user
  • Projects can only communicate with others with the same purpose

Conflicts

Conflicts

  • The only things that conflict are purposes and project counts
    • Except for the "General" purpose
  • However, services (eg, message types) specified by the purpose cannot be removed unless the purpose is changed

NetsBlox

By Brian Broll

NetsBlox

  • 802