Skip to main content

Home/ GNUstep/ Group items matching "Java" in title, tags, annotations or url

Group items matching
in title, tags, annotations or url

Sort By: Relevance | Date Filter: All | Bookmarks | Topics Simple Middle
David Corking

Dr. Dobb's | Smartphone Operating Systems: A Developer's Perspective | March 30, 2009 - 0 views

  • The industry stewards have countered Apple's move with their own application stores, so there's a huge opportunity to write the "killer app" for one of several smartphone platforms.
  • 40 MB to less than 4 MB of free RAM
    • David Corking
       
      iPhone ouch! Like a mid-1990s PC.
  • one-app-at-a-time requirement complicates any implementation of a copy-and-paste mechanism.
  • ...45 more annotations...
  • As a security sandbox, the iPhone OS permits only one third-party application to run at a time, and not in the background.
  • adding some useful Bluetooth profiles that supported stereo headsets, data synchronization, or the ability to implement multiplayer games would be usefu
  • iPhone OS 3, that provides some of the missing features mentioned here, such as the A2DP profile for Bluetooth, voice recording, and copy-and-paste.
  • Have to learn Objective-C; is only smartphone platform that uses it.
    • David Corking
       
      Sounds a lot nicer than learning Java!
  • Competitors will soon catch up on the UI.
  • embed navigation and GPS plotting into applications.
  • provide their own map content
  • The OS now supports the use of accessories connected to the iPhone either through its 30-pin docking connector or wirelessly via Bluetooth. Now that the device has been "opened", you can expect an entire ecosystem to build up around the device, much like the iPod has.
  • peer-to-peer connectivity using Bonjour
  • developers can now allow users, from within the application, to purchase and obtain new content
  • No voice dial.
  • A client-server mechanism provides access to low-level system resources, and in fact the kernel itself is a server that parcels out resources to those applications that need them. This transaction scheme allows applications to exchange data without requiring direct access to the OS space.
  • C/C++ for porting existing UNIX applications, and Java to port Java ME MIDlets. As mentioned previously, the software stack offers several run-times that offer application development using WRT widgets, Flash, and Python. The primary programming language for the platform is Symbian C++,
  • Handango has managed the wide-scale distribution of Nokia applications. In February, Nokia announced plans to launch its Ovi Store, which sells applications, videos, games, pod-casts and other content, similar to Apple's App Store. The store will be accessible by Nokia S60 smartphones in May.
  • Non-standard Symbian C++ has steep learning curve, with special idioms to master. Large number of Symbian APIs to learn, since it contains hundreds of classes and thousands of member functions.
  • BlackBerry Device Software executes multiple applications simultaneously
  • Manages multiple e-mail Exchange e-mail accounts, along with support for POP3 and SMTP, and e-mails can have file attachments
  • FIPS 140-2 compliant, and supports AES or Triple DES encryption sessions via BlackBerry Enterprise Servers
  • BlackBerry Device Software has enhanced the capabilities of the platform with its own Java virtual machine (JVM), along with new Java classes that offer multitasking capabilities and UI enhancements to go beyond the capabilities of Java ME.
  • You can also take existing Java ME code and add specific BlackBerry classes to make a hybrid Java ME application
  • don't intermix MIDP 2.0 and BlackBerry API calls that perform either screen drawing or application management.
  • The catch to writing an application that uses BlackBerry API extensions is that it ties the application this smartphone. However, this is no worse than using the unique Java classes found in Google's Android.
  • Apple promotes the design goal that applications should accomplish one purpose.
  • no Flash support, and you can't download files.
  • For non-Exchange users, Apple's MobileMe online service, after some fits and starts in 2008, now supports the push of e-mails and changes to the calendar and contacts.
  • The iPhone 3G can work in tandem with Microsoft Exhange Server 2003 and 2007 to support enterprise operations.
  • Cocoa Touch is a subset of Apple's Cocoa,
  • Cocoa Touch components manage most of the writing to the screen and playing media, yet there are APIs exposed that let you access the accelerometer and camera.
  • Quartz engine is identical to the one found in Mac OS X
  • Only a select few higher-level frameworks have access to the kernel and drivers. If necessary, an application can indirectly access some of these services through C-based interfaces provided in a LibSystem library.
  • the SDK provides Dashcode, which is a framework based on a Web page composed of HTML and Javascript. You can use DashCode's simulator to write and test your web application. You can also use several other third-party frameworks to write web applications, and debug these with Aptanna Studio's tools.
  • Made by HTC, the G1 is the first smartphone using the Android platform.
  • e-mail program (which makes use of Google's Gmail), a mapping program (using the company's Google Maps), and a browser that uses WebKit, not Google's Chrome web browser
  • Android is not Java ME, nor does it support such applications
  • ability to both browse and manage multiple IM conversations. On the other hand, such heavy use of the smartphone's CPU shortens battery life significantly. Maybe Apple is on to something in limiting the number of applications that the platform can run.
  • On the positive side, the Android APIs support a touch interface (and the G1 has a capacitive touch screen), but not any multi-touch gestures.
  • copying text from the web pages is the browser isn't allowed
  • The advantage to Android's use of a different bytecode interpreter is that the DVM was designed so that multiple instances of it can run, each in their own protected memory space, and each executing an application. While this approach offers stability and a robust environment for running multiple applications, it does so at the expense of compatibility with Java ME applications.
  • Seasoned Java programmers will find the Android SDK an amalgam of Java SE and Java ME methods and classes, along with unique new ones
  • compile the Java code to generate Dalvik bytecode files, with an extension of .dex. These files, along with the manifest, graphics files, and XML files, are packaged into an .apk file that is similar to a Java JAR file.
  • The certificate that you use to generate the private key does not require a signing authority, and you can use self-signed certificates for this purpose.
  • The Developer Phone provides access to a shipping Android device without the cash outlay or contract contortions required when developing for the other platforms.
  • in February the site began supporting priced applications. Google allows developers to take seventy percent of the proceeds.
  • it's possible that you might pick up a malicious application before it is detected by the user community.
  • Open source, open platform: if you hate the mail program, some third-party is writing a better one.
  •  
    Lengthy developer's overview of Symbian, Mac OS X iPhone, Blackberry, Android. This talks about the leading app platforms except Java ME and Windows Mobile, though it does explain how Blackberry and Symbian support Java ME.
  •  
    No mention of GNUstep here, but I suspect that GNUstep coders will feel at home with iPhone
David Corking

InfoQ: Avi Bryant on DabbleDB, Smalltalk and Persistence | 2008 - 0 views

  • Before Cocoa was really big and before there were a lot of objective C programmers because of that, I think they saw Java as being the future and they ported it to Java and since then I think Objective C has really seen a resurgence because Cocoa has really won as the way of developing application was then and I think they probably wouldn't have done that if they knew what they know now.
  • Web objects was what really opened my eyes to the idea of having extreme amounts of session state and extreme amounts of session state in a form of a tree of state full objects that represented part of the web page and that by keeping that around between requests you could keep much more information there and you could have a much higher level of abstraction when you were building a web application than using the kind of more traditional approach, which is to have a small amount of session states other stored on the cookies or stored on the server but have the best majority of the states be passed in the URL be passed in the form parameters and that core idea certainly was taken from web objects.
  • web objects didn't use continuations and Seaside doesn't have to use continuations now either, in the more recent versions of Seaside you can optionally use them
  • ...15 more annotations...
  • So we have on any given server for Dabble DB we'll have thousands and thousands of these images, for thousands of customers who are at any one time mapped to that server but maybe only twenty or thirty of them will be in memory. So typically this would be maybe hundred meg memory images, we'll have twenty or thirty of them so we're using 2-3 gigs of memory.
  • But the people especially somewhere like an orchestra or small business they don't have a lot of IT support, they probably don't have a lot of money to maintain a traditional or Access database or file maker database or something like that. Certainly they don't have anyone who is going to build them a custom web application for it. And so this Dabble DB is a tool that lets them collaboratively online build a mini application that has their data model and they can do a lot of the things that they might expect from a custom web application.
  • without forcing them to make any kind of upfront decision like you might for a database
  • our design rule is it should not be possible to have a syntax error. And so there are formulas in that if you have multiple columns of data you can say "I want to create a new column, that is times this one”.
  • really we've had no problems with it as a platform. If we had we would have just moved to a commercial Smalltalk but so far, and I mean if there were any problems we would have seen them by now.
  • all of the I/O is non blocking. And the VM takes care of that I mean it looks to your Smalltalk process like it's blocking but other Smalltalk processes run just fine at the same time.
  • Having twenty concurrent requests being serviced by twenty Squeak VMs on the same machine performs better than having twenty concurrent requests serviced by let's say four Squeak VMs on the same machine.
  • The number of people concurrently accessing the database is something that can be handled by one Squeak VM, the dataset is something that can all fit into memory, into the Squeak image.
  • under a hundred megs of data, under twenty people that need to access this data, and those are really the people that we are targeting which isn't to say that we don't support people with larger data sets or larger teams, but it's not the majority of our customers.
  • The largest images we see are hundreds of megs not giga bytes.
  • you can have sort of an object space that is Tera bytes big and you can spread the load to accessing that object space over however many processes or even machines that you need because you can have many VMs that are all accessing that same shared set of objects.
  • having many VMs running but all kind of transactionally sharing the same large set of objects,
  • Gemstone also is a native code complier and so performs better than Squeak does.
  • one of the nice things about the Smalltalk world is that like the Java world and somewhat unlike the Ruby world, there is a bit of an obsession with keeping everything sort of in pure Smalltalk.
  • I think probably it's more common for people to use for example a relational database for storage, or kind of an external object database, like OmniBase one that is available for Smalltalk, there is GOODS which is kind of language agnostic object database that I wrote a client for Smalltalk a while ago.
  •  
    Avi Bryant is clearly a NeXTstep/Cocoa fan. He traces Seaside to the Objective-C version of Apple's Web Objects application server.
  •  
    There is philosophy, design and history in here. Pretty interesting. (Annoying javascript to turn on to see the transcript.)
David Corking

Talk Like A Duck : Will It Go Round in Circles? - Rick DeNatale - 0 views

  • VisualAge started out as a demonstration prototype I wrote using Digitalk Smalltalk/V. The idea was to make something like the NeXT interface builder in Smalltalk as an adjunct to the Smalltalk IDE. For those who are not hip to such things, the Interface Builder, originally a Lisp program before Steve Jobs hired the author, lives on as part of Apple’s XCode tool suite for OS/X for the Mac and the iPhone.
    • David Corking
       
      Beautifully convoluted history! Lisp -> Objective-C -> Smalltalk -> Java -> Smalltalk
  • VisualAge started out as a demonstration prototype I wrote using Digitalk Smalltalk/V. The idea was to make something like the NeXT interface builder in Smalltalk as an adjunct to the Smalltalk IDE. For those who are not hip to such things, the Interface Builder, originally a Lisp program before Steve Jobs hired the author, lives on as part of Apple’s XCode tool suite for OS/X for the Mac and the iPhone.
  •  
    A fascinating and brief horse's mouth history of dynamic languages and IDEs - with several things I didn't know already.
  •  
    Some things you may not have known about the family tree of Interface Builder.
1 - 3 of 3
Showing 20 items per page