netbeans and a look at sun spots · uname -a i work as an engineer in the mysql team at sun...
TRANSCRIPT
NetBeans
and a look at Sun SPOTS
Optima'09- Indian Institute of Technology, Kharagpur
Amit Kumar Sahahttp://blogs.sun.com/amitsahaSun Microsystems
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
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..
What isN'T
NetBeans?
You don't have to buy it!
...its free
..as in freedom..as in free lunch
It's not just a Java IDE
What is NetBeans?
What is NetBeans? -It is:
http://www.netbeans.orgA comprehensive, modular multilingual IDEOutofbox support for Java SE, Java EE, Java MELarge set of 3rd party modules (plugins)Intuitive draganddrop 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
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
Which Operating System does it work on?
Binaries for Solaris, Linux, MS Windows, and Mac OSX100% Java
What can I do with NetBeans?Make Applications:DesktopWebMobileEnterprise
In..JavaC/C++PythonRubyPHP, XML, Javascript..and more...
Cool Features of NetBeans
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!
Demo: Simple Swing Application
Packs
ProfilerIntegrated
Performance Profiling Tools:
CPU TimeThread StateMemory Usage/Memory Leak Detection
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
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”
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
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
Debugging & Profiling
Visual debugging (breakpoints, watchpoints)Remote debugging of a processOnthefly code fixingDebug JSP, Servlets, monitor HTTP TrafficView, suspend, resume threadsMonitor thread activityCPU time & visual method callgraph dataObjectcentric view: # allocated, live, ageJVM telemetry: heap usage, garbage collection
Scripting Languages
JavaScript
JavaFX
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/)
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
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
Integration with Databases and Application servers
MySQL, JavaDB, MS AccessGlassFish, TomcatJBossIBM Web Sphere..
..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!
NetBeans Platform
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!
NetBeans Platform- A bare bones, plumbed application
DEMO
NetBeans IDE =
NetBeans platform + NetBeans plugins
Boeing Mass Properties Toolkit
jCAE- Java Computer Aided Engineering
http://jcae.sourceforge.net/index.html
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/
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
Sun Small Programmable Object Technology ( Sun SPOTs )
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?
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
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”
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!
I am done!
Questions ?