netbeans and a look at sun spots · uname -a i work as an engineer in the mysql team at sun...

42
NetBeans and a look at Sun SPOTS Optima'09- Indian Institute of Technology, Kharagpur Amit Kumar Saha http://blogs.sun.com/amitsaha Sun Microsystems

Upload: others

Post on 25-Jun-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: NetBeans and a look at Sun SPOTS · uname -a I work as an engineer in the MySQL team at Sun Microsystems Have contributed to the NetBeans Community Docs and NetBeans Python support

NetBeans

and a look at Sun SPOTS

Optima'09- Indian Institute of Technology, Kharagpur

Amit Kumar Sahahttp://blogs.sun.com/amitsahaSun Microsystems

Page 2: NetBeans and a look at Sun SPOTS · uname -a I work as an engineer in the MySQL team at Sun Microsystems Have contributed to the NetBeans Community Docs and NetBeans Python support

uname -aI work as an engineer in the MySQL

team at Sun MicrosystemsHave contributed to the NetBeans

Community Docs and NetBeans Python support

so..that obviously doesn't make me a NetBeans Guru!

I have a homepage: http://amitsaha.in.googlepages.comand Mathematics, AI and Science Fiction interests me

Page 3: NetBeans and a look at Sun SPOTS · uname -a I work as an engineer in the MySQL team at Sun Microsystems Have contributed to the NetBeans Community Docs and NetBeans Python support

Agenda

Know YouYour expectations from this workshop!

NetBeans..As a IDE for C/C++, Java, JavaME, JavaFX,

Ruby, PythonUsing the NetBeans platform and

extending NetBeans

Sun SPOT (if time permits)Basic stuffs..

Page 4: NetBeans and a look at Sun SPOTS · uname -a I work as an engineer in the MySQL team at Sun Microsystems Have contributed to the NetBeans Community Docs and NetBeans Python support

What isN'T

NetBeans?

Page 5: NetBeans and a look at Sun SPOTS · uname -a I work as an engineer in the MySQL team at Sun Microsystems Have contributed to the NetBeans Community Docs and NetBeans Python support

You don't have to buy it!

...its free

..as in freedom..as in free lunch

Page 6: NetBeans and a look at Sun SPOTS · uname -a I work as an engineer in the MySQL team at Sun Microsystems Have contributed to the NetBeans Community Docs and NetBeans Python support

It's not just a Java IDE

Page 7: NetBeans and a look at Sun SPOTS · uname -a I work as an engineer in the MySQL team at Sun Microsystems Have contributed to the NetBeans Community Docs and NetBeans Python support

What is NetBeans?

Page 8: NetBeans and a look at Sun SPOTS · uname -a I work as an engineer in the MySQL team at Sun Microsystems Have contributed to the NetBeans Community Docs and NetBeans Python support

What is NetBeans? -It is:

http://www.netbeans.orgA comprehensive, modular multi­lingual IDEOut­of­box support for Java SE, Java EE, Java MELarge set of 3rd party modules (plugins)Intuitive drag­and­drop developmentDebugger, Profiler, Refactoring, etc...

A platform for building applicationsRich client Java applicationsRich framework of windows, menus, tool bars, actions 

A thriving open source communityOpen source since June, 2000Large community of users and developers

Page 9: NetBeans and a look at Sun SPOTS · uname -a I work as an engineer in the MySQL team at Sun Microsystems Have contributed to the NetBeans Community Docs and NetBeans Python support

Something to do with Coffee Beans?

NoMore with Java Beans + NetworkDevelop network-enabled JavaBeans components. Jarda Tulach, who designed the IDE's basic architecture, came up with the name NetBeans to describe what they would do

Page 10: NetBeans and a look at Sun SPOTS · uname -a I work as an engineer in the MySQL team at Sun Microsystems Have contributed to the NetBeans Community Docs and NetBeans Python support

Which Operating System does it work on?

Binaries for Solaris, Linux, MS Windows, and Mac OSX100% Java

Page 11: NetBeans and a look at Sun SPOTS · uname -a I work as an engineer in the MySQL team at Sun Microsystems Have contributed to the NetBeans Community Docs and NetBeans Python support

What can I do with NetBeans?Make Applications:DesktopWebMobileEnterprise

In..JavaC/C++PythonRubyPHP, XML, Javascript..and more...

Page 12: NetBeans and a look at Sun SPOTS · uname -a I work as an engineer in the MySQL team at Sun Microsystems Have contributed to the NetBeans Community Docs and NetBeans Python support

Cool Features of NetBeans

Page 13: NetBeans and a look at Sun SPOTS · uname -a I work as an engineer in the MySQL team at Sun Microsystems Have contributed to the NetBeans Community Docs and NetBeans Python support

Swing GUI Builder

Issues building GUIs without Matisse:Complex Swing APIs

e.g. GridBagLayout

Resizing and alignment is hard

Handling of locales is hard

Different OS behaviors

Binding data to your GUI

NetBeans handles these for you!

Page 14: NetBeans and a look at Sun SPOTS · uname -a I work as an engineer in the MySQL team at Sun Microsystems Have contributed to the NetBeans Community Docs and NetBeans Python support

Demo: Simple Swing Application

Page 15: NetBeans and a look at Sun SPOTS · uname -a I work as an engineer in the MySQL team at Sun Microsystems Have contributed to the NetBeans Community Docs and NetBeans Python support

Packs

ProfilerIntegrated

Performance Profiling Tools:

CPU TimeThread StateMemory Usage/Memory Leak Detection

Page 16: NetBeans and a look at Sun SPOTS · uname -a I work as an engineer in the MySQL team at Sun Microsystems Have contributed to the NetBeans Community Docs and NetBeans Python support

Packs (cont'd)

Mobility PackAward winning support for Java ME developmentConnected Limited Device Configuration/Mobile Information Device ProfileAnd now, support for Connected Device Configuration too!

Visual Development ToolsEmulator SupportDevice Fragmentation Solutions

Page 17: NetBeans and a look at Sun SPOTS · uname -a I work as an engineer in the MySQL team at Sun Microsystems Have contributed to the NetBeans Community Docs and NetBeans Python support

Packs (cont'd)

Enterprise Pack

Visualize, analyze, and edit real-world XML Schema, WSDL, and XML instance documentsDevelop secure, identity-enabled Java EE Web servicesDesign BPEL business processes“Tools for 208”

Page 18: NetBeans and a look at Sun SPOTS · uname -a I work as an engineer in the MySQL team at Sun Microsystems Have contributed to the NetBeans Community Docs and NetBeans Python support

Packs (cont'd)

C/C++ PackNetBeans is more than a Java IDESupports features you know from the Java IDE:Navigation, code foldingCode completion, templatesMake file mgm't

Page 19: NetBeans and a look at Sun SPOTS · uname -a I work as an engineer in the MySQL team at Sun Microsystems Have contributed to the NetBeans Community Docs and NetBeans Python support

Packs (cont'd)

Visual Web PackBased on the award-winning Java Studio Creator 2Visual Drag-n-Drop Environment for Creating Web ApplicationsIncludes Ajax-enabled Java Server Faces Components

Page 20: NetBeans and a look at Sun SPOTS · uname -a I work as an engineer in the MySQL team at Sun Microsystems Have contributed to the NetBeans Community Docs and NetBeans Python support

Debugging & Profiling

Visual debugging (breakpoints, watchpoints)Remote debugging of a processOn­the­fly code fixingDebug JSP, Servlets, monitor HTTP TrafficView, suspend, resume threadsMonitor thread activityCPU time & visual method call­graph dataObject­centric view: # allocated, live, ageJVM telemetry: heap usage, garbage collection

Page 21: NetBeans and a look at Sun SPOTS · uname -a I work as an engineer in the MySQL team at Sun Microsystems Have contributed to the NetBeans Community Docs and NetBeans Python support

Scripting Languages

JavaScript

JavaFX

Page 22: NetBeans and a look at Sun SPOTS · uname -a I work as an engineer in the MySQL team at Sun Microsystems Have contributed to the NetBeans Community Docs and NetBeans Python support

Python support in NetBeans

PythonGeneral purpose HLL, easy, interpreted Intuitive: print “hello world” actually prints “Hello World” and such..Libraries for Scientific and Numerical computing: SciPy. (MIT has switched to Python for its CS

6.00)Python Robotics: PyRo (http://pyrorobotics.org/)

Page 23: NetBeans and a look at Sun SPOTS · uname -a I work as an engineer in the MySQL team at Sun Microsystems Have contributed to the NetBeans Community Docs and NetBeans Python support

Python support in NetBeans

NetBeans support for Python:http://wiki.netbeans.org/PythonDownload a NetBeans IDE for Python from http://deadlock.netbeans.org/hudson/job/python/

Demo

Page 24: NetBeans and a look at Sun SPOTS · uname -a I work as an engineer in the MySQL team at Sun Microsystems Have contributed to the NetBeans Community Docs and NetBeans Python support

JavaFX

Scripting language declarative and statically typedIt makes intensive use of the JavaFX SDK

Runtime's GUI Toolkit and enables you to easily create graphical user interfaces or GUIs

Run some of the samplesYou will use it to design rich interactive

applications for Desktop/Mobiles/TVs/Car Dashboards

Page 25: NetBeans and a look at Sun SPOTS · uname -a I work as an engineer in the MySQL team at Sun Microsystems Have contributed to the NetBeans Community Docs and NetBeans Python support

Integration with Databases and Application servers

MySQL, JavaDB, MS AccessGlassFish, TomcatJBossIBM Web Sphere..

Page 26: NetBeans and a look at Sun SPOTS · uname -a I work as an engineer in the MySQL team at Sun Microsystems Have contributed to the NetBeans Community Docs and NetBeans Python support

..and more with NetBeans plugins

Its easily extensibleModular architecturePlug in 3rd party plugins or modules. Go to

Tools > Plugins to install numerous such modules

Its easy to design your own too!Add a new language supportMake your IDE suitable for your needs!

Page 27: NetBeans and a look at Sun SPOTS · uname -a I work as an engineer in the MySQL team at Sun Microsystems Have contributed to the NetBeans Community Docs and NetBeans Python support

NetBeans Platform

Page 28: NetBeans and a look at Sun SPOTS · uname -a I work as an engineer in the MySQL team at Sun Microsystems Have contributed to the NetBeans Community Docs and NetBeans Python support

NetBeans Platform

http://platform.netbeans.org/It is a generic framework for Swing applicationsthe plumbing — saving state, connecting actions to menu items, toolbar items and keyboard shortcuts; window management, etc. - is already done!

Page 29: NetBeans and a look at Sun SPOTS · uname -a I work as an engineer in the MySQL team at Sun Microsystems Have contributed to the NetBeans Community Docs and NetBeans Python support

NetBeans Platform- A bare bones, plumbed application

Page 30: NetBeans and a look at Sun SPOTS · uname -a I work as an engineer in the MySQL team at Sun Microsystems Have contributed to the NetBeans Community Docs and NetBeans Python support

DEMO

Page 31: NetBeans and a look at Sun SPOTS · uname -a I work as an engineer in the MySQL team at Sun Microsystems Have contributed to the NetBeans Community Docs and NetBeans Python support

NetBeans IDE =

NetBeans platform + NetBeans plugins

Page 32: NetBeans and a look at Sun SPOTS · uname -a I work as an engineer in the MySQL team at Sun Microsystems Have contributed to the NetBeans Community Docs and NetBeans Python support

Boeing Mass Properties Toolkit

Page 33: NetBeans and a look at Sun SPOTS · uname -a I work as an engineer in the MySQL team at Sun Microsystems Have contributed to the NetBeans Community Docs and NetBeans Python support

jCAE- Java Computer Aided Engineering

http://jcae.sourceforge.net/index.html

Page 34: NetBeans and a look at Sun SPOTS · uname -a I work as an engineer in the MySQL team at Sun Microsystems Have contributed to the NetBeans Community Docs and NetBeans Python support

The NetBeans Community

http://www.netbeans.org/community/index.html

Open Source Projects- Code and Documentation

Portal - News / Events

Over 14 Million Downloads

Mailing Lists – Over 500,000 mailing list subscribers

Over 100 Partner Companies

Active Blogging Community:

http://www.planetnetbeans.org/

Page 35: NetBeans and a look at Sun SPOTS · uname -a I work as an engineer in the MySQL team at Sun Microsystems Have contributed to the NetBeans Community Docs and NetBeans Python support

NetBeans ResourcesNetBean IDE Helpsets

NetBeans Product Site: http://www.netbeans.orgDownload: previews, current & past releases of IDE, pluginsLearning: tutorials, technical articles, flash demosCommunity: latest news, forums, events, mailing lists

NetBeans Wiki: http://wiki.netbeans.org/wiki/Open-source documentation site for NetBeans

Planet NetBeans: http://www.planetnetbeans.org/Aggregate for all NetBeans-related blogs

Source Code: http://www.netbeans.org/community/sources/CVS source code access for NetBeans platform + IDE

Page 36: NetBeans and a look at Sun SPOTS · uname -a I work as an engineer in the MySQL team at Sun Microsystems Have contributed to the NetBeans Community Docs and NetBeans Python support

Sun Small Programmable Object Technology ( Sun SPOTs )

Page 37: NetBeans and a look at Sun SPOTS · uname -a I work as an engineer in the MySQL team at Sun Microsystems Have contributed to the NetBeans Community Docs and NetBeans Python support

Embedded Development PlatformExtremely flexible hardware and software package

Easy to program - Java top to bottomJava Device Drivers

Connected - Wireless CommunicationMesh NetworkingOver the Air Programming

MobileBuilt in Lithium Ion battery charged through USB

Aware and ActiveAble to sense and affect surroundings

SecureBuilt-in high grade ECC public key cryptography

What is it?

Page 38: NetBeans and a look at Sun SPOTS · uname -a I work as an engineer in the MySQL team at Sun Microsystems Have contributed to the NetBeans Community Docs and NetBeans Python support

Sun SPOT DeviceBasic device has three layersBattery

Processor Board with Radio & USB

Application Board (with sensors and I/O)

Processor Board alone acts as a base-station

User programs the device entirely in Java using standard Java tools

Page 39: NetBeans and a look at Sun SPOTS · uname -a I work as an engineer in the MySQL team at Sun Microsystems Have contributed to the NetBeans Community Docs and NetBeans Python support

Sun SPOT Mainboard180 MHz 32 bit ARM920T core

512K RAM/4M Flash

802.15.4 radio

USB interface - mini-b connector

3.6V rechargeable 750 mAh lithium-ion battery

36 µA deep sleep mode

“Java on the metal”

Page 40: NetBeans and a look at Sun SPOTS · uname -a I work as an engineer in the MySQL team at Sun Microsystems Have contributed to the NetBeans Community Docs and NetBeans Python support

More on SunSPOTS

http://www. sunspotworld.comEven if you don't have access to the device, you can as well use the 

emulator to get a feel of it

Have fun and do something really cool with SunSPOTs!

Page 41: NetBeans and a look at Sun SPOTS · uname -a I work as an engineer in the MySQL team at Sun Microsystems Have contributed to the NetBeans Community Docs and NetBeans Python support

I am done!

Questions ?

Page 42: NetBeans and a look at Sun SPOTS · uname -a I work as an engineer in the MySQL team at Sun Microsystems Have contributed to the NetBeans Community Docs and NetBeans Python support

NetBeans

and a look at Sun SPOTS

Amit Kumar Saha- [email protected] Microsystems