OSS Hacker, Developer Advocate and Entrepreneur at Codename One
Software developer with ~30 years of professional experience in a multitude of platforms/languages. JavaOne rockstar/highly rated speaker, author, blogger and open source hacker. Shai has extensive experience in the full stack of backend, desktop and mobile. This includes going all the way into the internals of VM implementation, debuggers etc. Shai started working with Java in 96 (the first public beta) and later on moved to VM porting/authoring/internals and development tools. Shai is the co-founder of Codename One, an Open Source project allowing Java developers to build native applications for all mobile platforms in Java. He's the coauthor of the open source LWUIT project from Sun Microsystems and has developed/worked on countless other projects both open source and closed source. Shai is also a developer advocate at Lightrun.
Stats
Reputation: | 6773 |
Pageviews: | 898.3K |
Articles: | 100 |
Comments: | 84 |
Modern API Management
When assessing prominent topics across DZone — and the software engineering space more broadly — it simply felt incomplete to conduct research on the larger impacts of data and the cloud without talking about such a crucial component of modern software architectures: APIs. Communication is key in an era when applications and data capabilities are growing increasingly complex. Therefore, we set our sights on investigating the emerging ways in which data that would otherwise be isolated can better integrate with and work alongside other app components and across systems.For DZone's 2024 Modern API Management Trend Report, we focused our research specifically on APIs' growing influence across domains, prevalent paradigms and implementation techniques, security strategies, AI, and automation. Alongside observations from our original research, practicing tech professionals from the DZone Community contributed articles addressing key topics in the API space, including automated API generation via no and low code; communication architecture design among systems, APIs, and microservices; GraphQL vs. REST; and the role of APIs in the modern cloud-native landscape.
Software Integration
Seamless communication — that, among other consequential advantages, is the ultimate goal when integrating your software. And today, integrating modern software means fusing various applications and/or systems — many times across distributed environments — with the common goal of unifying isolated data. This effort often signifies the transition of legacy applications to cloud-based systems and messaging infrastructure via microservices and REST APIs.So what's next? Where is the path to seamless communication and nuanced architecture taking us? Dive into our 2023 Software Integration Trend Report and fill the gaps among modern integration practices by exploring trends in APIs, microservices, and cloud-based systems and migrations. You have to integrate to innovate!
Comments
Jul 10, 2023 · Shai Almog
This was raised in the manifold slack and it isn't as simple as one might think since null is deeply ingrained in Java.
I'm guessing one can use the expression language to write a slightly shorter syntax than the optional syntax but I'm not sure how applicable it would be.
Jul 09, 2023 · Shai Almog
The specific GraphQL docs are pretty lacking. Unfortunately, I don't have too much experience with GraphQL so I couldn't do their implementation justice. There's the sample app here: https://github.com/manifold-systems/manifold-sample-graphql-app/
But I would suggest asking in the slack channel as Scott is pretty responsive to queries there.
Jun 22, 2023 · Shai Almog
For most cases where we have a natural value for an object that isn't null we should assign it when creating the variable. This can be by making a field final and requiring the value in the constructor etc.
But let's look at the cases where there's no such "natural" non-null object. If we still choose to make the object non-null then we allocate a "dummy" object to serve as a placeholder just so we can discard it later.
The cost in performance depends on what the compiler will translate your non-null code to. In some cases this is translated to null but usually this isn't the case. Currently Optional has noticeable (albeit small) overhead. But other compile time options might not be able to use null in all the same cases. Non-null is an abstraction over null and abstractions tend to leak in unpredictable ways.
Jun 21, 2023 · Shai Almog
I meant Kotlins approach etc.
Jun 21, 2023 · Shai Almog
Not really because they didn't publish the final syntax but as far as we know it will only be a marker tag indicating that it will be non-null. As far as I understood enforcement at the compiler level won't be deep since they can't change libraries etc. Previously they had syntax that denoted this in the class level indicating that an object lacks "identity" which is a synonym to pointer.
Jun 21, 2023 · Shai Almog
Notice I mentioned that Valhalla will add a not-null marker which is important for memory layout. Yes, that should go into the language but it's a different thing from the systems used by other languages.
Jun 20, 2023 · Shai Almog
That's a great point. This indeed drew some inspiration for a trend of that time called "design by contract". That mostly focused on asserts but the idea was to map all the various ways the object can fail for bad input.
This is also very powerful in combination with JavaDoc.
Apr 13, 2023 · Shai Almog
Right, I meant to say code rot.
Mar 07, 2023 · Shai Almog
Unfortunately the links in the post were removed during editing. The original is here: https://debugagent.com/open-source-maintenance-is-community-organizing
Feb 22, 2023 · Shai Almog
Yes. I did mention the events but didn't want to get into the nuances of the implementation. Since it's relatively young, I'm not sure if it will be a decent replacement to Kafka but it is a very interesting project.
Oct 05, 2022 · Shai Almog
That's why I mentioned Lombok which is still applicable. Records are improving though.
I think the lambda implementation was a bit broken which is the one problem with checked exceptions. I blame the lambda, not the exceptions.
I agree, a lot of complexity was added but newer languages are even more complex and don't have the same level of functionality. With the exception of JVM languages.
Oct 04, 2022 · Shai Almog
I think everyone defines this a bit differently. There's also the quiet firing where bosses assign bad tasks and create an unpleasant work environment.
I picked the more widely understood version of quiet quitting: doing exactly what the job description says. No more. No less. It's a legitimate thing. What's interesting is that it's a change for a lot of people. Why would people change that behavior?
Because the dime dropped for a lot of them. They understand their employer will dump them in a heartbeat, regardless of how hard they work. No reason to go the extra mile. That's OK when talking about overtime. It's not so great if you don't document your code because well documented code isn't benchmarked in your quarterly reviews.
Sep 30, 2022 · Shai Almog
Great quote!
A boss should never demand loyalty. It's something that's earned.
Mar 25, 2022 · Alex Omeyer
I'm not sure if Lightrun fits into the "fight technical debt" but debugging production is pretty much a universal "fixer" problem. I think our plugin is probably one of the coolest around (in my not so subjective opinion): https://lightrun.com/
Mar 01, 2022 · Reza Rahman
Great seeing your talks there!
Generally virtual conferences have a problem of audience participation. I noticed FOSDEM was MUCH better than the median cookie cutter conference in terms of participation. Not sure if it was due to the foojay room we were in or the conference itself though.
Jan 18, 2022 · Vladyslav Lubenskyi
It took well over a month of work. The main work was around the deployment of the native libraries and a lot went into the media code so it would use CEF instead of the built-in APIs of FX. That required recompiling CEF for every platform which took a lot of effort. Steve Hannah did most of the work there. I can connect you to him if you're interested. You can see the stuff he did in our repo: https://github.com/codenameone/CodenameOne/
Jan 18, 2022 · Vladyslav Lubenskyi
Did you two coordinate this?
https://dzone.com/articles/jxbrowser-and-javafx-webview
We use JCEF but played with JxBrowser in the past. It seems like an excellent solution. Since we're an open source project we picked CEF but it was a pretty challenging process.
Jan 18, 2022 · Vladimir Ikryanov
It was an uphill battle too. We had to compile our own version of CEF because the default version doesn't include support for 264 playback. That took a lot of time and pain.
But the end result is a modern/consistent browser over which we have more control regardless of the underlying JDK. So it paid off. Removing the FX dependency is a huge advantage.
Jan 15, 2022 · Vladimir Ikryanov
We chose to go with JCEF which is used by Intellij as well.
Jan 03, 2022 · Bertrand Florat
I very much agree with the UUID usage in DBs but some people don't: https://github.com/jhipster/generator-jhipster/issues/3060
To be fair, they are correct. There is a performance impact. I think it's something most of us can live with.
Nov 18, 2021 · Ogundiran Ayobami
The common term is time travel debugging. E.g. https://www.replay.io/
May 27, 2020 · Tara Simpson
Do you work for free?
Why do you expect professional developers who build tools to do what you don't?
If you can't spend on your craft then you're a hobbyist not a professional. When there's a better free product then I use it (e.g. Linux) but when the product delivers a lot of value over a free product then I make the calculation of my time that's saved. My time isn't free.
FYI If you mean "open source" then the core of webstorm is open source.
BTW Visual Studio Code also has a commercial portion that isn't "free"...
Mar 20, 2018 · Nyma Malik
I think you should compare react native to Kotlin Native or Kotlin + Codename One.
Mar 16, 2018 · Mohamed Labouardy
FYI All of the 4 things you mentioned at the bottom of the article as downsides of flutter don't exist in Codename One plus a lot of other advantages...
Feb 08, 2018 · Brian Fernandes
I work with all 3 IDE's since we produce plugins for all of them. Eclipse improved recently but it still lacks some capabilities e.g. the debugger in IntelliJ renders values of variables next to the line where they are mentioned... Eclipse has some power but it's very "opinionated" this isn't necessarilly bad but it makes it harder for beginners.
Feb 15, 2016 · Edvin Syse
I like some of the concepts of javafxpackager but from our experience with it I was pretty disappointed by the implementation. Its pretty buggy and spartan.
It seems that with every release of Java a new team comes along and completely reinvents distribution (webstart rewrites, Java plugin, packager etc.). The problem is that all of these approaches are damn awful. E.g. fxpackager needs both a Mac and a Windows machine. Signing (which is required on Mac OS) is a HUGE pain.
So FXLauncher looks promissing but the underlying fxpackager is the true problem.
Jan 01, 2016 · Daniel Stori
;-)
I would use the analogy of a cleaning person picking up the garbage. So he first comes along to check if the garbage is used by anyone and places a yellow sticker on everything that's used. Then he indiscriminately throws away everything that doesn't have a yellow sticker on it.
GC's are actually remarkably simple, its the implementation that gets a bit tricky specifically in regards to threads...
Jul 01, 2015 · Tony Thomas
You should note in the article that this process is illegal and violates Apple's ToS. I doubt this will ever reach a court case or even trigger banning but Apple doesn't allow Mac OS virtualization unless it is done on a physical Mac machine.
So this process might be reasonable for a hobbyist but its not something you should be doing if you work for a major company.
At Codename One we use Mac's that we host in the cloud for our service and will soon also offer support to automatically generate the certificates for them. We also use them for the xcode build process so the full package can be maintained and still be 100% legal.
Jul 01, 2015 · Peter Soloninka
You should note in the article that this process is illegal and violates Apple's ToS. I doubt this will ever reach a court case or even trigger banning but Apple doesn't allow Mac OS virtualization unless it is done on a physical Mac machine.
So this process might be reasonable for a hobbyist but its not something you should be doing if you work for a major company.
At Codename One we use Mac's that we host in the cloud for our service and will soon also offer support to automatically generate the certificates for them. We also use them for the xcode build process so the full package can be maintained and still be 100% legal.
Sep 15, 2014 · Shai Almog
Jun 19, 2014 · Mr B Loid
I didn't hide behind a fake name like some people do, I clearly state my bias and yes I provided a link. I dislike it when companies present their product as a solution that's new when its pretty far from that, especially when their product is snake oil. In this case its the cloud build aspect, this puts a bad spin on the whole industry and hurts us all.
So when someone puts out a product/announcement in our field that I feel is wrong and misleading should I ignore it? Use a fake name? Hide my bias? Praise them?
I tried to be polite rather than downright disparaging and the best I could come up with was passive aggressive. Feel free to suggest some other way I could phrase my point more clearly.
Jun 19, 2014 · Mr B Loid
I didn't hide behind a fake name like some people do, I clearly state my bias and yes I provided a link. I dislike it when companies present their product as a solution that's new when its pretty far from that, especially when their product is snake oil. In this case its the cloud build aspect, this puts a bad spin on the whole industry and hurts us all.
So when someone puts out a product/announcement in our field that I feel is wrong and misleading should I ignore it? Use a fake name? Hide my bias? Praise them?
I tried to be polite rather than downright disparaging and the best I could come up with was passive aggressive. Feel free to suggest some other way I could phrase my point more clearly.
Jun 19, 2014 · Mr B Loid
I didn't hide behind a fake name like some people do, I clearly state my bias and yes I provided a link. I dislike it when companies present their product as a solution that's new when its pretty far from that, especially when their product is snake oil. In this case its the cloud build aspect, this puts a bad spin on the whole industry and hurts us all.
So when someone puts out a product/announcement in our field that I feel is wrong and misleading should I ignore it? Use a fake name? Hide my bias? Praise them?
I tried to be polite rather than downright disparaging and the best I could come up with was passive aggressive. Feel free to suggest some other way I could phrase my point more clearly.
Jun 19, 2014 · Mr B Loid
I didn't hide behind a fake name like some people do, I clearly state my bias and yes I provided a link. I dislike it when companies present their product as a solution that's new when its pretty far from that, especially when their product is snake oil. In this case its the cloud build aspect, this puts a bad spin on the whole industry and hurts us all.
So when someone puts out a product/announcement in our field that I feel is wrong and misleading should I ignore it? Use a fake name? Hide my bias? Praise them?
I tried to be polite rather than downright disparaging and the best I could come up with was passive aggressive. Feel free to suggest some other way I could phrase my point more clearly.
Jun 19, 2014 · Mr B Loid
I didn't hide behind a fake name like some people do, I clearly state my bias and yes I provided a link. I dislike it when companies present their product as a solution that's new when its pretty far from that, especially when their product is snake oil. In this case its the cloud build aspect, this puts a bad spin on the whole industry and hurts us all.
So when someone puts out a product/announcement in our field that I feel is wrong and misleading should I ignore it? Use a fake name? Hide my bias? Praise them?
I tried to be polite rather than downright disparaging and the best I could come up with was passive aggressive. Feel free to suggest some other way I could phrase my point more clearly.
Jun 19, 2014 · Mr B Loid
I didn't hide behind a fake name like some people do, I clearly state my bias and yes I provided a link. I dislike it when companies present their product as a solution that's new when its pretty far from that, especially when their product is snake oil. In this case its the cloud build aspect, this puts a bad spin on the whole industry and hurts us all.
So when someone puts out a product/announcement in our field that I feel is wrong and misleading should I ignore it? Use a fake name? Hide my bias? Praise them?
I tried to be polite rather than downright disparaging and the best I could come up with was passive aggressive. Feel free to suggest some other way I could phrase my point more clearly.
Jun 19, 2014 · Mr B Loid
I didn't hide behind a fake name like some people do, I clearly state my bias and yes I provided a link. I dislike it when companies present their product as a solution that's new when its pretty far from that, especially when their product is snake oil. In this case its the cloud build aspect, this puts a bad spin on the whole industry and hurts us all.
So when someone puts out a product/announcement in our field that I feel is wrong and misleading should I ignore it? Use a fake name? Hide my bias? Praise them?
I tried to be polite rather than downright disparaging and the best I could come up with was passive aggressive. Feel free to suggest some other way I could phrase my point more clearly.
Jun 19, 2014 · Mr B Loid
That's not very different from Appcelerator which pretty much means it suffers from the exact same problems, notice that they don't offer cloud builds... Remote compilation can't work for cases like this since the difference between the platforms is too great e.g. order of event delivery, basic UI construct behavior/availability etc.
So in that case you need a REALLY powerful debugger architecture to debug on the device hence remote compilation makes no sense. You guys have a lot of HTML experience, native is different. That's why we took a different approach with Codename One, but good luck with that anyway.
Jun 13, 2014 · Alec Noller
You failed to mention Codename One which doesn't quite fit any of the categories you mentioned but being completely based on Java is probably more relevant to the java dzone readership than all of the tools mentioned in the report.
Feb 16, 2014 · Tim Im
We just stayed with the existing SVN for now, its both history and workspace design choices that make sense in an SVN deployment that are a problem.
I'm sure we can restructure the project in some way to fit git/github but we decided its not worth our hassle. E.g. our chief codebase: http://code.google.com/p/codenameone
Is currently over 7.5gb. Yes that includes some binary files but we need to host them somewhere so this saves us a great deal of hassle.
Its also remarkably difficult/impossible to delete history from SVN so the process of removing history we don't need (e.g. for the binary files) is problematic.
We're currently sticking to something that works until Google kills Google code (which I presume they will). Then we will probably be forced to migrate, hopefully by then Github would support multi-gigabyte repositories and we would be able to take the lazy approach.
Feb 16, 2014 · Tim Im
We just stayed with the existing SVN for now, its both history and workspace design choices that make sense in an SVN deployment that are a problem.
I'm sure we can restructure the project in some way to fit git/github but we decided its not worth our hassle. E.g. our chief codebase: http://code.google.com/p/codenameone
Is currently over 7.5gb. Yes that includes some binary files but we need to host them somewhere so this saves us a great deal of hassle.
Its also remarkably difficult/impossible to delete history from SVN so the process of removing history we don't need (e.g. for the binary files) is problematic.
We're currently sticking to something that works until Google kills Google code (which I presume they will). Then we will probably be forced to migrate, hopefully by then Github would support multi-gigabyte repositories and we would be able to take the lazy approach.
Feb 16, 2014 · Tim Im
We just stayed with the existing SVN for now, its both history and workspace design choices that make sense in an SVN deployment that are a problem.
I'm sure we can restructure the project in some way to fit git/github but we decided its not worth our hassle. E.g. our chief codebase: http://code.google.com/p/codenameone
Is currently over 7.5gb. Yes that includes some binary files but we need to host them somewhere so this saves us a great deal of hassle.
Its also remarkably difficult/impossible to delete history from SVN so the process of removing history we don't need (e.g. for the binary files) is problematic.
We're currently sticking to something that works until Google kills Google code (which I presume they will). Then we will probably be forced to migrate, hopefully by then Github would support multi-gigabyte repositories and we would be able to take the lazy approach.
Feb 16, 2014 · Tim Im
We just stayed with the existing SVN for now, its both history and workspace design choices that make sense in an SVN deployment that are a problem.
I'm sure we can restructure the project in some way to fit git/github but we decided its not worth our hassle. E.g. our chief codebase: http://code.google.com/p/codenameone
Is currently over 7.5gb. Yes that includes some binary files but we need to host them somewhere so this saves us a great deal of hassle.
Its also remarkably difficult/impossible to delete history from SVN so the process of removing history we don't need (e.g. for the binary files) is problematic.
We're currently sticking to something that works until Google kills Google code (which I presume they will). Then we will probably be forced to migrate, hopefully by then Github would support multi-gigabyte repositories and we would be able to take the lazy approach.
Feb 16, 2014 · Tim Im
We just stayed with the existing SVN for now, its both history and workspace design choices that make sense in an SVN deployment that are a problem.
I'm sure we can restructure the project in some way to fit git/github but we decided its not worth our hassle. E.g. our chief codebase: http://code.google.com/p/codenameone
Is currently over 7.5gb. Yes that includes some binary files but we need to host them somewhere so this saves us a great deal of hassle.
Its also remarkably difficult/impossible to delete history from SVN so the process of removing history we don't need (e.g. for the binary files) is problematic.
We're currently sticking to something that works until Google kills Google code (which I presume they will). Then we will probably be forced to migrate, hopefully by then Github would support multi-gigabyte repositories and we would be able to take the lazy approach.
Feb 16, 2014 · Tim Im
We just stayed with the existing SVN for now, its both history and workspace design choices that make sense in an SVN deployment that are a problem.
I'm sure we can restructure the project in some way to fit git/github but we decided its not worth our hassle. E.g. our chief codebase: http://code.google.com/p/codenameone
Is currently over 7.5gb. Yes that includes some binary files but we need to host them somewhere so this saves us a great deal of hassle.
Its also remarkably difficult/impossible to delete history from SVN so the process of removing history we don't need (e.g. for the binary files) is problematic.
We're currently sticking to something that works until Google kills Google code (which I presume they will). Then we will probably be forced to migrate, hopefully by then Github would support multi-gigabyte repositories and we would be able to take the lazy approach.
Feb 16, 2014 · Tim Im
We just stayed with the existing SVN for now, its both history and workspace design choices that make sense in an SVN deployment that are a problem.
I'm sure we can restructure the project in some way to fit git/github but we decided its not worth our hassle. E.g. our chief codebase: http://code.google.com/p/codenameone
Is currently over 7.5gb. Yes that includes some binary files but we need to host them somewhere so this saves us a great deal of hassle.
Its also remarkably difficult/impossible to delete history from SVN so the process of removing history we don't need (e.g. for the binary files) is problematic.
We're currently sticking to something that works until Google kills Google code (which I presume they will). Then we will probably be forced to migrate, hopefully by then Github would support multi-gigabyte repositories and we would be able to take the lazy approach.
Feb 16, 2014 · Tim Im
We just stayed with the existing SVN for now, its both history and workspace design choices that make sense in an SVN deployment that are a problem.
I'm sure we can restructure the project in some way to fit git/github but we decided its not worth our hassle. E.g. our chief codebase: http://code.google.com/p/codenameone
Is currently over 7.5gb. Yes that includes some binary files but we need to host them somewhere so this saves us a great deal of hassle.
Its also remarkably difficult/impossible to delete history from SVN so the process of removing history we don't need (e.g. for the binary files) is problematic.
We're currently sticking to something that works until Google kills Google code (which I presume they will). Then we will probably be forced to migrate, hopefully by then Github would support multi-gigabyte repositories and we would be able to take the lazy approach.
Feb 16, 2014 · Tim Im
We just stayed with the existing SVN for now, its both history and workspace design choices that make sense in an SVN deployment that are a problem.
I'm sure we can restructure the project in some way to fit git/github but we decided its not worth our hassle. E.g. our chief codebase: http://code.google.com/p/codenameone
Is currently over 7.5gb. Yes that includes some binary files but we need to host them somewhere so this saves us a great deal of hassle.
Its also remarkably difficult/impossible to delete history from SVN so the process of removing history we don't need (e.g. for the binary files) is problematic.
We're currently sticking to something that works until Google kills Google code (which I presume they will). Then we will probably be forced to migrate, hopefully by then Github would support multi-gigabyte repositories and we would be able to take the lazy approach.
Feb 16, 2014 · Tim Im
We just stayed with the existing SVN for now, its both history and workspace design choices that make sense in an SVN deployment that are a problem.
I'm sure we can restructure the project in some way to fit git/github but we decided its not worth our hassle. E.g. our chief codebase: http://code.google.com/p/codenameone
Is currently over 7.5gb. Yes that includes some binary files but we need to host them somewhere so this saves us a great deal of hassle.
Its also remarkably difficult/impossible to delete history from SVN so the process of removing history we don't need (e.g. for the binary files) is problematic.
We're currently sticking to something that works until Google kills Google code (which I presume they will). Then we will probably be forced to migrate, hopefully by then Github would support multi-gigabyte repositories and we would be able to take the lazy approach.
Feb 16, 2014 · Tim Im
Unfortunately this only works for small projects.
We have quite a few large SVN repositories and once you cross the 1gb threshold github blocks your project. You need to start splitting up everything to smaller workspaces and that is a HUGE pain to do while maintaining the project history.
Jan 24, 2014 · Mr B Loid
With your Java programming experience may I recommend Codename One for your next experiment?
(disclaimer: I'm the co-founder of Codename One)
Oct 30, 2013 · Tony Thomas
Its the small things, being able to disable all breakpoints with one click (REALLY useful) better preview of variables in the debugger, hit count for breakpoints (HUGE) and being able to jump to the type of a specific variable!
Small things like that really make a huge difference in the day to day development.
Jul 05, 2013 · jexenberger
Why didn't you mention Codename One ? (disclaimer: I'm one of the developers).
Its pretty different from everyone else you mentioned and far more complete than most.
May 03, 2013 · Mr B Loid
You should check out Codename One, our simulator is even better than Apples. We wrote our fair share of those in our days at Sun (WTK, SWTK etc.) so we know our stuff there.
Jan 13, 2012 · Mr B Loid
Jan 13, 2012 · Mr B Loid
Jan 13, 2012 · Mr B Loid
Jan 13, 2012 · Mr B Loid
Jan 13, 2012 · Mr B Loid
Jan 13, 2012 · Mr B Loid
Jan 13, 2012 · Mr B Loid
Jan 13, 2012 · Mr B Loid
Jan 13, 2012 · Mr B Loid
Jan 13, 2012 · Mr B Loid
Jan 13, 2012 · Mr B Loid
It looks really cool. I noticed on the website that Mac OS X Lion isn't supported yet, is there an ETA or workaround for that?
I'd like to try it out but I have Lion installed.
Sep 05, 2011 · Lars Vogel
Is this an official app?
It gave me multiple errors, wouldn't install on the SD and looks like a clone of an iPhone interface without the level of refinement you would get on an iPhone (running on NexusOne). Is this a web app?
Nov 19, 2010 · Mr B Loid
Its a common mistake to use the Android emulator. Unlike the iPhone/J2ME, Android has an "emulator" which runs the actual OS on an actual hardware stack which is why its so slow (you can disable the screen lock in the settings for the OS).
The solution is rather simple: get a device.
Running/debugging on the actual device with Android is faster than launching a J2ME simulator! You see all the printouts and exceptions in DDMS etc. That's one thing Google did really well.
If you must use the emulator remember you don't need to close it. You can just keep it running and the applications will load into it dynamically.
Sep 22, 2010 · Mr B Loid
Aug 13, 2010 · Tony Thomas
I'm not a fan of lawsuits but this has been brewing for 5 years so Google must have known. Oracle claims they actually copied Java source code and effectively relicensed it under an Apache license, that is a GPL violation and a fork.
I don't like the usage of the patent claims (personally very much against software patents) but if Google was negligent enough to use GPL licensed code and publish it as Apache licensed code they have only themselves to blame (I'm using a NexusOne myself so I seriously hope they come to an understanding and unify the Java brand rather than the current confusing mess).
Aug 13, 2010 · Tony Thomas
I'm not a fan of lawsuits but this has been brewing for 5 years so Google must have known. Oracle claims they actually copied Java source code and effectively relicensed it under an Apache license, that is a GPL violation and a fork.
I don't like the usage of the patent claims (personally very much against software patents) but if Google was negligent enough to use GPL licensed code and publish it as Apache licensed code they have only themselves to blame (I'm using a NexusOne myself so I seriously hope they come to an understanding and unify the Java brand rather than the current confusing mess).
Aug 13, 2010 · Tony Thomas
I'm not a fan of lawsuits but this has been brewing for 5 years so Google must have known. Oracle claims they actually copied Java source code and effectively relicensed it under an Apache license, that is a GPL violation and a fork.
I don't like the usage of the patent claims (personally very much against software patents) but if Google was negligent enough to use GPL licensed code and publish it as Apache licensed code they have only themselves to blame (I'm using a NexusOne myself so I seriously hope they come to an understanding and unify the Java brand rather than the current confusing mess).
Jul 16, 2010 · Steven Sacks
I noticed the lack of mobile discussion except for a couple of Android related posts. I'm curious how the mobile crowd sees Java FX but I assume there aren't many mobile developers in the JavaLobby due to relatively low amounts of mobile content.
For that means I published an almost identical poll in my blog which attracts a good segment of the mobile Java developmnet community here: http://lwuit.blogspot.com/2010/07/how-can-oracle-make-javafx-more-popular.html
I'm curious if our results will be different due to the population segments.
Jul 10, 2009 · Mr B Loid
I bought it last year at the previous J1 and I can't say I'm happy with it.
The product has a "WOW" effect on everyone who sees it and my girlfriend used it extensively at first in her studies but its sort of useless to us since then.
The main problem isn't the pen but the bundled software which is one of the worst I have ever used, on the Mac it was completely useless to me since it won't run on Tiger (don't get me started on Apple). On the PC its give and take whether it will actually work and sync with your particular PC, one worked for me and I wasn't successful since. I heard someone was able to use it on VirtualBox but I wasn't able to do so.
The software often grabs 100% CPU and is lacking basic features such as backup or export to externally supported formats such as MP3/JPEG etc. You can "backup" to the web but thats not quite what we want for our private documents...
So we can't share private notes with friends without placing things on the internet (a big psycological barrier forsome people even if the sharing is limited). Its also very inconvenient to use the software to view existing notes, its just slow and unintuitive.
So while the piano demo is cool and the device is remarkably impressive, it is ruined for us by the desktop software.
Apr 08, 2009 · Mr B Loid
Its greate that Google did the "right thing" by supporting JSP/Servlets, JPA and GWT. It would make moving our code to the app engine so much easier!
Now we just need to find a proper CMS that works on the APP engine and start moving our entire infrastructure. Maybe Magnolia can be adpated for that environment...
Jun 30, 2008 · Stacy Doss
[quote]Huh. I don't remember hearing Steve badmouth 3G. The first generation of the iPhone didn't support it for reasons of cost and battery-life, but the new generation does, so if 3G is important to you then this is no longer an issue. [/quote]
Steve lied about 3G and battery life/form factor dismissing it as unecessary compared to Edge... He very specifically said that it wasn't important. This is obviously BS since this phone: http://www.sonyericsson.com/cws/products/mobilephones/overview/w880i?cc=us&lc=en was available about a year before the iPhone and has 3G with video phone front camera not to mention the size of the old iPod nano...
[quote]Try laying out an interface using Interface Builder and writing your application using the APIs. [/quote]
Try LWUIT and pretty soon Matisse for it.
[quote]Or go to the Apple web site and watch the WWDC keynote where several iPhone applications were demoed.[/quote]
Saw every single one of them and haven't seen anything impressive. The 3D looks reasonable but not much better than JSR 184 (M3G) which we had for ages, since its a standard OpenGL ES 1.1 implementation thats hardly a big deal... Not even version 2.0 so no shaders or anything special...
[quote]Can you point to any applications on any other mobile platform that even come close?[/quote]
http://www.sumea.com/
http://www.superscape.com/
[quote]The iPhone SDK is a real platform, which comes much closer to developing a desktop applications than any other mobile platform currently available.[/quote]
It comes close to developing Mac applications which is a HUGE pain and requires a Mac (which sadly I own, its a terrible computer but I digress).
Its very easy to build an SDK for one platform with one phone that has one resolution and not too many features, push is apparently a modern concept for iPhone developers... The SDK is weighed down by limitations both in access and licensing making it the typical Apple encumbarence nightmare.
Java ME is far from a panacea, its got its huge list of problems both compared to Java SE and to the iPhone. But you can do with it pretty much every single thing you can do with the iPhone and more. You can even do with it most of the things you can do on Android.
So its not the best platform in terms of development ease, deployment, uniformity or quality... However unlike the iPhone, people actually have devices that really work with this.
Apple has had a history of being developer hostile, canceling support for API's and dumping platforms despite strong guarantees in the past to support them. Very strict unapologetic licensing, limitations and lawsuits. If you want to develop for these guys, then enjoy but there is no technical superiority in the iPhone when compared to Java ME.
Jun 30, 2008 · Stacy Doss
[quote]Huh. I don't remember hearing Steve badmouth 3G. The first generation of the iPhone didn't support it for reasons of cost and battery-life, but the new generation does, so if 3G is important to you then this is no longer an issue. [/quote]
Steve lied about 3G and battery life/form factor dismissing it as unecessary compared to Edge... He very specifically said that it wasn't important. This is obviously BS since this phone: http://www.sonyericsson.com/cws/products/mobilephones/overview/w880i?cc=us&lc=en was available about a year before the iPhone and has 3G with video phone front camera not to mention the size of the old iPod nano...
[quote]Try laying out an interface using Interface Builder and writing your application using the APIs. [/quote]
Try LWUIT and pretty soon Matisse for it.
[quote]Or go to the Apple web site and watch the WWDC keynote where several iPhone applications were demoed.[/quote]
Saw every single one of them and haven't seen anything impressive. The 3D looks reasonable but not much better than JSR 184 (M3G) which we had for ages, since its a standard OpenGL ES 1.1 implementation thats hardly a big deal... Not even version 2.0 so no shaders or anything special...
[quote]Can you point to any applications on any other mobile platform that even come close?[/quote]
http://www.sumea.com/
http://www.superscape.com/
[quote]The iPhone SDK is a real platform, which comes much closer to developing a desktop applications than any other mobile platform currently available.[/quote]
It comes close to developing Mac applications which is a HUGE pain and requires a Mac (which sadly I own, its a terrible computer but I digress).
Its very easy to build an SDK for one platform with one phone that has one resolution and not too many features, push is apparently a modern concept for iPhone developers... The SDK is weighed down by limitations both in access and licensing making it the typical Apple encumbarence nightmare.
Java ME is far from a panacea, its got its huge list of problems both compared to Java SE and to the iPhone. But you can do with it pretty much every single thing you can do with the iPhone and more. You can even do with it most of the things you can do on Android.
So its not the best platform in terms of development ease, deployment, uniformity or quality... However unlike the iPhone, people actually have devices that really work with this.
Apple has had a history of being developer hostile, canceling support for API's and dumping platforms despite strong guarantees in the past to support them. Very strict unapologetic licensing, limitations and lawsuits. If you want to develop for these guys, then enjoy but there is no technical superiority in the iPhone when compared to Java ME.
Jun 30, 2008 · Stacy Doss
[quote]Huh. I don't remember hearing Steve badmouth 3G. The first generation of the iPhone didn't support it for reasons of cost and battery-life, but the new generation does, so if 3G is important to you then this is no longer an issue. [/quote]
Steve lied about 3G and battery life/form factor dismissing it as unecessary compared to Edge... He very specifically said that it wasn't important. This is obviously BS since this phone: http://www.sonyericsson.com/cws/products/mobilephones/overview/w880i?cc=us&lc=en was available about a year before the iPhone and has 3G with video phone front camera not to mention the size of the old iPod nano...
[quote]Try laying out an interface using Interface Builder and writing your application using the APIs. [/quote]
Try LWUIT and pretty soon Matisse for it.
[quote]Or go to the Apple web site and watch the WWDC keynote where several iPhone applications were demoed.[/quote]
Saw every single one of them and haven't seen anything impressive. The 3D looks reasonable but not much better than JSR 184 (M3G) which we had for ages, since its a standard OpenGL ES 1.1 implementation thats hardly a big deal... Not even version 2.0 so no shaders or anything special...
[quote]Can you point to any applications on any other mobile platform that even come close?[/quote]
http://www.sumea.com/
http://www.superscape.com/
[quote]The iPhone SDK is a real platform, which comes much closer to developing a desktop applications than any other mobile platform currently available.[/quote]
It comes close to developing Mac applications which is a HUGE pain and requires a Mac (which sadly I own, its a terrible computer but I digress).
Its very easy to build an SDK for one platform with one phone that has one resolution and not too many features, push is apparently a modern concept for iPhone developers... The SDK is weighed down by limitations both in access and licensing making it the typical Apple encumbarence nightmare.
Java ME is far from a panacea, its got its huge list of problems both compared to Java SE and to the iPhone. But you can do with it pretty much every single thing you can do with the iPhone and more. You can even do with it most of the things you can do on Android.
So its not the best platform in terms of development ease, deployment, uniformity or quality... However unlike the iPhone, people actually have devices that really work with this.
Apple has had a history of being developer hostile, canceling support for API's and dumping platforms despite strong guarantees in the past to support them. Very strict unapologetic licensing, limitations and lawsuits. If you want to develop for these guys, then enjoy but there is no technical superiority in the iPhone when compared to Java ME.
Jun 30, 2008 · Stacy Doss
[quote]Huh. I don't remember hearing Steve badmouth 3G. The first generation of the iPhone didn't support it for reasons of cost and battery-life, but the new generation does, so if 3G is important to you then this is no longer an issue. [/quote]
Steve lied about 3G and battery life/form factor dismissing it as unecessary compared to Edge... He very specifically said that it wasn't important. This is obviously BS since this phone: http://www.sonyericsson.com/cws/products/mobilephones/overview/w880i?cc=us&lc=en was available about a year before the iPhone and has 3G with video phone front camera not to mention the size of the old iPod nano...
[quote]Try laying out an interface using Interface Builder and writing your application using the APIs. [/quote]
Try LWUIT and pretty soon Matisse for it.
[quote]Or go to the Apple web site and watch the WWDC keynote where several iPhone applications were demoed.[/quote]
Saw every single one of them and haven't seen anything impressive. The 3D looks reasonable but not much better than JSR 184 (M3G) which we had for ages, since its a standard OpenGL ES 1.1 implementation thats hardly a big deal... Not even version 2.0 so no shaders or anything special...
[quote]Can you point to any applications on any other mobile platform that even come close?[/quote]
http://www.sumea.com/
http://www.superscape.com/
[quote]The iPhone SDK is a real platform, which comes much closer to developing a desktop applications than any other mobile platform currently available.[/quote]
It comes close to developing Mac applications which is a HUGE pain and requires a Mac (which sadly I own, its a terrible computer but I digress).
Its very easy to build an SDK for one platform with one phone that has one resolution and not too many features, push is apparently a modern concept for iPhone developers... The SDK is weighed down by limitations both in access and licensing making it the typical Apple encumbarence nightmare.
Java ME is far from a panacea, its got its huge list of problems both compared to Java SE and to the iPhone. But you can do with it pretty much every single thing you can do with the iPhone and more. You can even do with it most of the things you can do on Android.
So its not the best platform in terms of development ease, deployment, uniformity or quality... However unlike the iPhone, people actually have devices that really work with this.
Apple has had a history of being developer hostile, canceling support for API's and dumping platforms despite strong guarantees in the past to support them. Very strict unapologetic licensing, limitations and lawsuits. If you want to develop for these guys, then enjoy but there is no technical superiority in the iPhone when compared to Java ME.
Jun 30, 2008 · Stacy Doss
[quote]Huh. I don't remember hearing Steve badmouth 3G. The first generation of the iPhone didn't support it for reasons of cost and battery-life, but the new generation does, so if 3G is important to you then this is no longer an issue. [/quote]
Steve lied about 3G and battery life/form factor dismissing it as unecessary compared to Edge... He very specifically said that it wasn't important. This is obviously BS since this phone: http://www.sonyericsson.com/cws/products/mobilephones/overview/w880i?cc=us&lc=en was available about a year before the iPhone and has 3G with video phone front camera not to mention the size of the old iPod nano...
[quote]Try laying out an interface using Interface Builder and writing your application using the APIs. [/quote]
Try LWUIT and pretty soon Matisse for it.
[quote]Or go to the Apple web site and watch the WWDC keynote where several iPhone applications were demoed.[/quote]
Saw every single one of them and haven't seen anything impressive. The 3D looks reasonable but not much better than JSR 184 (M3G) which we had for ages, since its a standard OpenGL ES 1.1 implementation thats hardly a big deal... Not even version 2.0 so no shaders or anything special...
[quote]Can you point to any applications on any other mobile platform that even come close?[/quote]
http://www.sumea.com/
http://www.superscape.com/
[quote]The iPhone SDK is a real platform, which comes much closer to developing a desktop applications than any other mobile platform currently available.[/quote]
It comes close to developing Mac applications which is a HUGE pain and requires a Mac (which sadly I own, its a terrible computer but I digress).
Its very easy to build an SDK for one platform with one phone that has one resolution and not too many features, push is apparently a modern concept for iPhone developers... The SDK is weighed down by limitations both in access and licensing making it the typical Apple encumbarence nightmare.
Java ME is far from a panacea, its got its huge list of problems both compared to Java SE and to the iPhone. But you can do with it pretty much every single thing you can do with the iPhone and more. You can even do with it most of the things you can do on Android.
So its not the best platform in terms of development ease, deployment, uniformity or quality... However unlike the iPhone, people actually have devices that really work with this.
Apple has had a history of being developer hostile, canceling support for API's and dumping platforms despite strong guarantees in the past to support them. Very strict unapologetic licensing, limitations and lawsuits. If you want to develop for these guys, then enjoy but there is no technical superiority in the iPhone when compared to Java ME.
Jun 30, 2008 · Stacy Doss
[quote]Huh. I don't remember hearing Steve badmouth 3G. The first generation of the iPhone didn't support it for reasons of cost and battery-life, but the new generation does, so if 3G is important to you then this is no longer an issue. [/quote]
Steve lied about 3G and battery life/form factor dismissing it as unecessary compared to Edge... He very specifically said that it wasn't important. This is obviously BS since this phone: http://www.sonyericsson.com/cws/products/mobilephones/overview/w880i?cc=us&lc=en was available about a year before the iPhone and has 3G with video phone front camera not to mention the size of the old iPod nano...
[quote]Try laying out an interface using Interface Builder and writing your application using the APIs. [/quote]
Try LWUIT and pretty soon Matisse for it.
[quote]Or go to the Apple web site and watch the WWDC keynote where several iPhone applications were demoed.[/quote]
Saw every single one of them and haven't seen anything impressive. The 3D looks reasonable but not much better than JSR 184 (M3G) which we had for ages, since its a standard OpenGL ES 1.1 implementation thats hardly a big deal... Not even version 2.0 so no shaders or anything special...
[quote]Can you point to any applications on any other mobile platform that even come close?[/quote]
http://www.sumea.com/
http://www.superscape.com/
[quote]The iPhone SDK is a real platform, which comes much closer to developing a desktop applications than any other mobile platform currently available.[/quote]
It comes close to developing Mac applications which is a HUGE pain and requires a Mac (which sadly I own, its a terrible computer but I digress).
Its very easy to build an SDK for one platform with one phone that has one resolution and not too many features, push is apparently a modern concept for iPhone developers... The SDK is weighed down by limitations both in access and licensing making it the typical Apple encumbarence nightmare.
Java ME is far from a panacea, its got its huge list of problems both compared to Java SE and to the iPhone. But you can do with it pretty much every single thing you can do with the iPhone and more. You can even do with it most of the things you can do on Android.
So its not the best platform in terms of development ease, deployment, uniformity or quality... However unlike the iPhone, people actually have devices that really work with this.
Apple has had a history of being developer hostile, canceling support for API's and dumping platforms despite strong guarantees in the past to support them. Very strict unapologetic licensing, limitations and lawsuits. If you want to develop for these guys, then enjoy but there is no technical superiority in the iPhone when compared to Java ME.
Jun 30, 2008 · Stacy Doss
[quote]Huh. I don't remember hearing Steve badmouth 3G. The first generation of the iPhone didn't support it for reasons of cost and battery-life, but the new generation does, so if 3G is important to you then this is no longer an issue. [/quote]
Steve lied about 3G and battery life/form factor dismissing it as unecessary compared to Edge... He very specifically said that it wasn't important. This is obviously BS since this phone: http://www.sonyericsson.com/cws/products/mobilephones/overview/w880i?cc=us&lc=en was available about a year before the iPhone and has 3G with video phone front camera not to mention the size of the old iPod nano...
[quote]Try laying out an interface using Interface Builder and writing your application using the APIs. [/quote]
Try LWUIT and pretty soon Matisse for it.
[quote]Or go to the Apple web site and watch the WWDC keynote where several iPhone applications were demoed.[/quote]
Saw every single one of them and haven't seen anything impressive. The 3D looks reasonable but not much better than JSR 184 (M3G) which we had for ages, since its a standard OpenGL ES 1.1 implementation thats hardly a big deal... Not even version 2.0 so no shaders or anything special...
[quote]Can you point to any applications on any other mobile platform that even come close?[/quote]
http://www.sumea.com/
http://www.superscape.com/
[quote]The iPhone SDK is a real platform, which comes much closer to developing a desktop applications than any other mobile platform currently available.[/quote]
It comes close to developing Mac applications which is a HUGE pain and requires a Mac (which sadly I own, its a terrible computer but I digress).
Its very easy to build an SDK for one platform with one phone that has one resolution and not too many features, push is apparently a modern concept for iPhone developers... The SDK is weighed down by limitations both in access and licensing making it the typical Apple encumbarence nightmare.
Java ME is far from a panacea, its got its huge list of problems both compared to Java SE and to the iPhone. But you can do with it pretty much every single thing you can do with the iPhone and more. You can even do with it most of the things you can do on Android.
So its not the best platform in terms of development ease, deployment, uniformity or quality... However unlike the iPhone, people actually have devices that really work with this.
Apple has had a history of being developer hostile, canceling support for API's and dumping platforms despite strong guarantees in the past to support them. Very strict unapologetic licensing, limitations and lawsuits. If you want to develop for these guys, then enjoy but there is no technical superiority in the iPhone when compared to Java ME.
Jun 30, 2008 · Stacy Doss
[quote]Huh. I don't remember hearing Steve badmouth 3G. The first generation of the iPhone didn't support it for reasons of cost and battery-life, but the new generation does, so if 3G is important to you then this is no longer an issue. [/quote]
Steve lied about 3G and battery life/form factor dismissing it as unecessary compared to Edge... He very specifically said that it wasn't important. This is obviously BS since this phone: http://www.sonyericsson.com/cws/products/mobilephones/overview/w880i?cc=us&lc=en was available about a year before the iPhone and has 3G with video phone front camera not to mention the size of the old iPod nano...
[quote]Try laying out an interface using Interface Builder and writing your application using the APIs. [/quote]
Try LWUIT and pretty soon Matisse for it.
[quote]Or go to the Apple web site and watch the WWDC keynote where several iPhone applications were demoed.[/quote]
Saw every single one of them and haven't seen anything impressive. The 3D looks reasonable but not much better than JSR 184 (M3G) which we had for ages, since its a standard OpenGL ES 1.1 implementation thats hardly a big deal... Not even version 2.0 so no shaders or anything special...
[quote]Can you point to any applications on any other mobile platform that even come close?[/quote]
http://www.sumea.com/
http://www.superscape.com/
[quote]The iPhone SDK is a real platform, which comes much closer to developing a desktop applications than any other mobile platform currently available.[/quote]
It comes close to developing Mac applications which is a HUGE pain and requires a Mac (which sadly I own, its a terrible computer but I digress).
Its very easy to build an SDK for one platform with one phone that has one resolution and not too many features, push is apparently a modern concept for iPhone developers... The SDK is weighed down by limitations both in access and licensing making it the typical Apple encumbarence nightmare.
Java ME is far from a panacea, its got its huge list of problems both compared to Java SE and to the iPhone. But you can do with it pretty much every single thing you can do with the iPhone and more. You can even do with it most of the things you can do on Android.
So its not the best platform in terms of development ease, deployment, uniformity or quality... However unlike the iPhone, people actually have devices that really work with this.
Apple has had a history of being developer hostile, canceling support for API's and dumping platforms despite strong guarantees in the past to support them. Very strict unapologetic licensing, limitations and lawsuits. If you want to develop for these guys, then enjoy but there is no technical superiority in the iPhone when compared to Java ME.
Jun 30, 2008 · Stacy Doss
Its amazing to see an iPhone fanboy calling something obsolete... You guys are still stuck in 2G and you are calling everyone else obsolete ;-)
The funniest thing is how Steve himself derided the slow speed of the existing iPhone now that they have "finally" built a 3G device barely a year after badmouthing 3G. Can you point at a single iPhone SDK feature that is missing from MSA/Java ME?
Apr 29, 2008 · admin
No mobility option?
Our session (TS-4921) will appeal to most cell developers and to Swing developers alike. Not objective here but I think this session will make huge waves, I can't talk much further about this though so you will have to be there ;-)