CSC/ECE 517 Spring 2015/ch1a 5 ZX: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 65: Line 65:


*Step6: If you want to code with other team members online, just click the share on the up right corner
*Step6: If you want to code with other team members online, just click the share on the up right corner
[[File: Cloud9_6.jpeg]]
   
   
== ==
== ==

Revision as of 19:48, 29 January 2015

Online IDEs and Distributed Development

An online IDE, also known as Web IDE or cloud IDE, is an integrated development environment (IDE) that is hosted in a browser, which allows for software development or web development. An online IDE can be accessed from a web browser, such as Google Chrome or Internet Explorer, allowing for a portable work environment. An online IDE does not usually contain all of the same features as a traditional, or desktop, IDE, although all of the basic IDE features, such as syntax highlighting, are typically present.

The idea of Distributed Development is a project development model where members in the same team spreading across geographical lines contribute to collaborate on applications or softwares and communicate through the Internet. Actually, the distributed development stems from open source software community. Also the appearance of Github and Wiki more facilitates the booming of distributed development.

Writing Assignment 1A

Background

Motivation

It has always been difficult for programmers to organize and work on projects across a variety of locations, computers, and devices – especially when you work in teams. When you store your code on one computer at one location, you become tied down to that one computer, finding yourself running back to that machine each time you're hit with coding inspiration. Worse, if you're working in a team, each member of the team has to send their code to every other member, each step of the way, creating organizational distractions and unnecessary delays. This is the problem that online IDEs have solved, and the programming world will never be the same.

In the past, in order to deal with big projects, in-house collaboration is the main stream of the people cracking projects. As the world goes more international, and a growing number of software startups spring up like mushrooms in the world, people begin to work across regional bounds and be accustomed to work remotely for different purposes. Vice versa, quite a bit of the programmers are more willing to work from home rather than being forced to relocate for demands of face-to-face discussion. Under this circumstance, online IDEs and distributed development start to step into the public's vision.

With an online IDE you can store your code online, allowing you the freedom to program from any computer (or device) with a connection to the internet. With an online IDE, you and your team can work on the exact same set of files, regardless of where your team members are, allowing you to work better as a team and keep your projects organized.

Pros and Cons

Benefits

  • Access from anywhere or any computer (with Internet access).
  • Minimal configuration needed, no Operating Systerm restriction.
  • Allows for development from inexpensive machines, even portable devices.
  • Enable team members updated to the latest changes in code, and keep projects organized.
  • Help companies, especially startups save money on office facilities.
  • Available for local resources like customer feedback
  • More comfortable and less pressed environment which is good for innovation and inspiration

Limitations

  • Must have (good) Internet access.
  • If not self hosted, possible outside security issues.
  • Possible server downtime.
  • Most do not support smart phones or tablets well.
  • Much less business compulsion
  • Different personal schedules makes it hard for on-time communication
  • Less coordinative and productive (not adopted by many large companies, including Facebook)


Example

Here is an brief introduction of using an online IDE to conduct a real-time distributed development.

Cloud9provides an open source integrated development environment in the cloud. It supports more than 40 languages, with class A support for PHP, Ruby, Python, JavaScript/Node.js, and Go. It enables developers to get started with coding immediately with pre-setup environments (workspaces), collaborate with their peers with collaborative coding features, and web development features like live preview and browser compatibility testing.


  • Step1: go to cloud 9 official website and you need to sign up first of all


  • Step2: sign in the cloud 9 and you'll see the dashboard


  • Step3: click the green button "create new space" on the left and you'll see various projects you can create


  • Step4: Here we use C/C++ as an example to create new workspace


  • Step5: Then click the green button start editing on the up left, then you can use command line to code your first program!


  • Step6: If you want to code with other team members online, just click the share on the up right corner