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

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


== Conclusion ==
== Conclusion ==
According to its specific advantages, Online IDE and Distributed developments is playing a more and more important role in the among the programmers' coordinating to handle various tasks. However, we can still see that most of the software companies or Network companies still prefer to the traditional development model.

Revision as of 20:38, 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 and invite your friend according to their usernames


  • Step7: Then you can code with your teammates via Internet, you can see their real-time changes according to cursors with different colors

Some other Online IDEs

Codeanywhere

It features code highlighting and support for HTML, CSS, Javascript, PHP, MySQL and more. Thanks to the available slew of handy apps for iOS, Android and BlackBerry, this tool enables anyone to code literally anywhere. In addition, it boasts Dropbox and SFTP support, which allow coders to easily backup project files and share them with collaborators. Though it's not the most full-featured Cloud IDE, it does what it does quite well.

eXo Cloud IDE

it's a solid Cloud contender that supports the usual languages like Javascript, Ruby, Groovy, Java and HTML etc. In particular, eXo Cloud is well suited to coders who specialize in Java programming. It supports Java servlets and Java Server Pages, as well as Maven. Deployment is handled by Heroku, CloudBees, Red Hat OpenShift and Cloud Foundry.

Sourcekit

Sourcekit is a Textmate like lightweight programmer's text editor right inside of Chrome. It saves files directly to Dropbox. Supported languages include all the majors you'd expect, such as C/C++/C#, PHP, Python, Javascript, MySQL, Java and Ruby. As far as lean browser IDEs are concerned, Sourcekit is an extremely attractive option.

Kodingen

Kodingen is one of the first Cloud editors to really do web-based IDEs the right way. It allows developers to code in PHP, Python, Perl and Javascript while working with popular frameworks like Django, Ruby on Rails and Node.js. Kodingen is bolstered by the rich and diverse community of users that patronize the service, which makes collaboration and sharing in the Cloud fairly convenient.

See also

  • Coderun Studio
  • ShiftEdit
  • Akshell
  • Erbix
  • Neutron IDE
  • Collide
  • Orion
  • Python Fiddle
  • Codenvy
  • Koding
  • PythonAnywhere
  • sourceLair
  • YouOS

Conclusion

According to its specific advantages, Online IDE and Distributed developments is playing a more and more important role in the among the programmers' coordinating to handle various tasks. However, we can still see that most of the software companies or Network companies still prefer to the traditional development model.