Tuesday, September 30, 2014

Coding for the Future: The IDE (R)evolution for the Next Generation


Coding for the future
Director of netbeans engineering

The road to here:
  • Ide wars in the 2000s
  • Soon two horse race with netbeans and eclipse
  • Most moved to build eclipse plugins.
  • Intellij commercial
  • Then an evolution occurred that took project data from ide and stored them in ant maven, hudson,etc. Devs can now use ide of source on shared project.

Recent trends:
  • Polyglot world, outside java. 
  • Code completion, debugger, etc.
  • JavaScript big player, difficult to tool.

Is java tooling mature:
  • Debugger, compiler, error handling, etc now popularly available.
  • Mostly enhancement requests now.
  • Wysiwyg where possible.

Web ide
  • Code editor in browser
  • Orion is e.g.
  • Combination of editor and cloud platform
  • Mostly for web client technologies. Easy to tool to run in browser.
  • Feature set in web ide lower and so is expectation's.
  • How to integrate with back end.
  • Lose performance compared to standalone ide.
  • Offline mode a problem.
  • Not a replacement.

Opportunities for growth:
  • Interacting with managed systems, clouds.
    • Much different than deploying war to local server.
    • Amazon, google, mbaas.
    • Hard to emulate on local machine.
    • Really only write custom code, rest provided.
    • Will always need it people which is a wall.
    • Tools don't allow for easy debugging
  • Combination with developer services
    • CI + code analysis + git
    • Rule based propagation
    • CI + indexing with maven a problem. Stop indexing libraries.
    • Run code analysis on git repo. Should have find refs etc. Warnings on stable code etc.
  • Configuration Management
    • Setting up dev env locally.
    • Painful
    • Changing projects can become expensive.
    • Encapsulate dev and execution envs. One click setup.
    • What to use for encapsulation? 
    • VMs? Gets expensive for multiple users. Local ide with remote source can be problem in some ides.
    • Containers on hosted cloud service. Is it the same env?security. Local ide remote source problem.
    • Containers not really isolated
    • Locally downloaded containers. Same source problem.
    • Container density limited if using big systems like weblogic
    • Docker improving.

Who is well positioned to deliver?
  • Difficult to charge for browser based ide.
  • Primary value is cloud integration.
  • Have own cloud or partner with one.
  • Amazon and google integrating their own small infrastructures.

Netbeans pitch
  • Split ui from logic
  • Run in multi tenant server
  • Core libs as services.
  • Oracle dev cloud service
  • Tailwind code editor
  • Various cloud services

No comments:

Post a Comment