Packaging Conventions for App. Developers

Looking for approaches to package organization for application developers. Everything I have read about this topic targets tool/framework developers. Grouping classes into packages seems intuitive in that case. But what about applications? Apps are not designed for reuse, so I don't have any intuition about how classes should be grouped. Whole application in one package? Separate package for each class? Does it matter? Thx.
Steve

Let me try to clarify what I was getting at. Package organization is determined at two levels: whether or not class are "related", and whether they might actually need to share data. For a library or framework, the first level is usually fairly intuitive because the code is meant to be reused; invoked or subclassed by other programmers. The package is imported to provide some particular functionality. Applications, by definition are an endpoint. In a layered design in a large environment, you'd get some reuse at the business logic level, but in general nobody is reusing this code. It's meant to be run only. So, the organizing principle of "related" tasks breaks down, at least for me. From semantic point of view, I could see architectural layers being a basis for organization, but other than that, I'm out of ideas. My inclination would be to lean toward encapsulation and put every class in its own package, unless there was an explicit need to share data. Hopefully I'm getting more and not less clear. Thanks.
Steve

Similar Messages

  • Question for App Developers

    I am thinking about learning how to develop apps for Android. If you're a developer, how did you learn to develop apps, and do you have any suggestions to get started? What hardware would I need to test apps with?

    Start at http://www.android.com/
    You'll find everything you need to know there (or on links from there).  Download the SDK, pay the $25 one-time fee (if you want to distribute via the Market), and have at it.
    It helps if you're  familiar with Java programming.

  • Hotfix Package 2 for Microsoft Application Virtualization 5.0 Service SP2

    This article describes a hotfix package that contains the latest hotfixes for Microsoft Application Virtualization 5.0 Service Pack 2 (SP2). This hotfix package fixes the following issues.
    Issue 1   
    Certain App-V 5.0 Service Pack 1 (SP1) packages do not work with the App-V 5.0 Service Pack 2 (SP2) clients.   
    This is an issue in App-V 5.0 SP2 that may appear to prevent some applications from starting. This includes packages that were sequenced on earlier versions of App-V 5.0. A valid App-V 5.0 package starts correctly and displays a GUI under App-V 5.0 SP1. Under
    App-V 5.0 SP2, the same package does not display a GUI, or it appears not to start.
    Issue 2   
    A sharing violation occurs during profile synchronization when you use App-V 5.0.   
    When an App-V user on a Remote Desktop Services (RDS) server logs on after a period of inactivity, a sharing violation may occur when the profile is synchronized to the local cache. Therefore, some required files are not copied over, or they are renamed. In
    this situation, the profile becomes corrupted.
    Issue 3   
    App-V client handlers leak in Remote Desktop Services (RDS).   
    When an RDS user logs off, App-V does not release some handles that it held specifically for this session, and therefore the resource cannot be reused. In this situation, the Session ID monotonically increases without reusing IDs from previously finished sessions.
    Issue 4   
    A virtualized Excel Visual Basic for Applications (VBA) application fails if the path for the application contains Chinese or Japanese characters.
    Issue 5   
    Certain applications don't start after Hotfix Package 1 for APP-V 5.0 Service Pack 2 is applied.   
    Selected registry key values were removed after the deployment of Hotfix 1 for APP-V 5.0 Service Pack 2. This prevents some applications from starting. By reverting Hotfix Package 1 for APP-V 5.0 SP2, you restore these registry values to their default state.
    However, any existing customizations will be lost and will have to be redone.
    Note This issue only affects deployments that were upgraded from APP-V 5.0 Service Pack 1 to APP-V 5.0 Service Pack 2 before Hotfix Package 1 was applied. Remote Desktop Services (RDS) deployments are not affected by this issue.
    For all the details and a download link, please see the KB article below:
    KB2934349 -

    Hello,
    Use /norestart to suppress reboots
    Nicke Källén | The Knack| Twitter:
    @Znackattack

  • Project Conventions for J2EE Apps Early Access...

    Hi
    I am trying to set up a standardized directory structure for J2EE apps that is flexible enough from a simple webapp to a complex J2EE App with multiple EJB components, WARs...etc..etc...
    For this, I turned to Java Blueprints Guidelines, Project Conventions for Enterprise Applications Early Access 1 posted on the Sun's web site...
    This document states among follwoing that (quote)
    -----(quote)
    These conventions, which the Java BluePrints team has followed with its applications (which can be accessed from http://java.sun.com/blueprints/code/index.html), assume that developers use the Ant tool for building projects. Developers using other build tools may have to make slight modifications to the conventions.
    ----(end quote)
    I have downloaded the latest J2EE SDk which has samples directory containing the famous , Adventure BUilder, Petstore, etc, etc.....But they do not follow project directory structure as outlined in this document...Moreover, I found each app has different project directory structure even for the same functional part..
    1. Are the J2EE sample apps bundeled with J2EE SDK different than the ones available as separate download?
    2. If they are not, where can I download sample apps that demonstrate project conventions outlined in the guidelines document...
    Any comments are welcome...
    Thanks
    zambak

    Hi,
    The project conventions are new and early access version1. So it will be changing a little bit and as a result the apps may get a little out of sync. We are currently switching the apps over to match with the project conventions. For an app that dempnstrates project conventions, please see the adventure builder on java.net at https://adventurebuilder.dev.java.net/
    We are working on a revised version of the project conventions, so your feedback/comments would be highly appreciated.
    -Smitha
    Hi
    I am trying to set up a standardized directory
    structure for J2EE apps that is flexible enough from a
    simple webapp to a complex J2EE App with multiple EJB
    components, WARs...etc..etc...
    For this, I turned to Java Blueprints Guidelines,
    Project Conventions for Enterprise Applications Early
    Access 1 posted on the Sun's web site...
    This document states among follwoing that (quote)
    -----(quote)
    These conventions, which the Java BluePrints team has
    followed with its applications (which can be accessed
    from http://java.sun.com/blueprints/code/index.html),
    assume that developers use the Ant tool for building
    projects. Developers using other build tools may have
    to make slight modifications to the conventions.
    ----(end quote)
    I have downloaded the latest J2EE SDk which has
    samples directory containing the famous , Adventure
    BUilder, Petstore, etc, etc.....But they do not
    follow project directory structure as outlined in this
    document...Moreover, I found each app has
    different project directory structure even for the
    same functional part..
    1. Are the J2EE sample apps bundeled with J2EE SDK
    different than the ones available as separate
    download?
    2. If they are not, where can I download sample apps
    that demonstrate project conventions outlined in the
    guidelines document...
    Any comments are welcome...
    Thanks
    zambak

  • Naming convention for packages and classes

    Hi all,
    Is there any naming conventions for packages and classes which uses a design pattern ?. If yes what are the conventions used for business delegate,session facade, service locator,DAO and any other patterns.
    rgds
    Anto Paul

    Hi,
    that is a good question and one we have considered also. We dont yet cover the naming conventions for classes based on patterns but maybe will in the future. Currently, in the blueprints apps we tend to do some things like naminga class
    -AccountDAO etc for DAOs
    -For servicelocator we have a class called ServiceLocator viewable at https://adventurebuilder.dev.java.net/source/browse/adventurebuilder/ws/components/servicelocator/src/java/com/sun/j2ee/blueprints/servicelocator/web/ServiceLocator.java?rev=1.4&content-type=text/vnd.viewcvs-markup
    -for session facade, its a bit trickier since the name is so long and we cant add "SessionFacade" to the end of each facade class. I think in general we put "Facade" in the name, usually near the end
    -For Business Delegat, again it seems too long to add to each class name. So in the past we have added
    a "BD" to the names of the delegates. Some examples are at http://java.sun.com/blueprints/patterns/BusinessDelegate.html
    -For transfer objects we usually add a TO to the end of the name. Some examples at http://java.sun.com/blueprints/patterns/TransferObject.html
    Seems like something we could get a bit more consistent about.
    hope that helps,
    Sean

  • Adobe Air Initiates the wrong launch Image on iPhone 6 - Possible App Rejection by Apple Review Team for all developers

    I've opened a bug for this issue as well. I want to ask if anyone experiencing the same issue and has found a workaround.  Basically Air Runtime is picking up the wrong launch image when launching on iPhone 6. It defaults to [email protected] instead of the [email protected] iOS 8 picks the correct image but Air Runtime does not. Here is the link for the bug. If this is confirmed, this could result in rejection for all the app developers who optimized their apps for iPhone 6 . It is hard to catch this bug in release mode since the Air Runtime loads pretty fast and it occurs when you device is slow or doing something in the background. You can see it easily on iOS simulator or debug mode. We tried everything for a workaround but we failed.
    Bug#3831747 - Adobe Air Initiates the wrong launch Image on iPhone 6 - Possible App Rejection by Apple Review Team for a…

    Apple recommends the storyboard/xib option but you can still use launch images as assets in your root. When you open a new project in xcode you can look at Contents.json and see the naming conventions they use for iOS8. We grabbed the new naming convention from here. Also setting up in the application xml the UILaunchImages key works too. Please see the below example. It would be a better solution if Adobe Air refers to xml/info.plist values that the developer sets instead of hard-coded naming conventions.
    <key>UILaunchImages</key>
      <array>
          <dict>
              <key>UILaunchImageMinimumOSVersion</key>
              <string>8.0</string>
              <key>UILaunchImageName</key>
              <string>Default-667h</string>
              <key>UILaunchImageOrientation</key>
              <string>Portrait</string>
              <key>UILaunchImageSize</key>
              <string>{375, 667}</string>
          </dict>

  • A feature request for iOS app developers...

    Guys and Gals,
    I have a feature request which I think will benefit iOS app developers  as much as it would benefit your customers.
    Any customer that has more than a handful of apps will eventually forget what some of those apps do or what makes them unique. For instance, I had not used the wonderful hotel finder, Oyster, in over a year. I not only forgot I had it, I also forgot how Oyster's service was different than other hotel finders. I had to refamiliarize myself with the app. Sometimes, this requires returning to the App Store to read the product description again.
    It would be helpful if every app had an About button that would present the product description, summarizing the app's purpose and what differentiates it from similar apps without going into the details of how to use it. 

    Apple discourages the use of About or Help buttons.
    Send feedback to Apple because this is the wrong place to ask; we are all just users like you.

  • How to restore package contents for preview.app after Mac OS X Lion upgrade

    since installing Mac OS X Lion I have been totally unable to run Preview.app. After having attempted to troubleshoot the problem I discovered that the package contents for the Preview application no longer existds on my hard drive. Does anyone know where I can obtain a another copy of the preview application? or how I might go about restoring the package contents for Preview in order to run Preview.app?

    Use Pacifist to extract it from the InstallESD.dmg residing inside the Install Mac OS X Lion.app.

  • Mobile app missing images only after packaging for App Store?

    This is general, but I was wondering if anyone else has had this problems, as it's happened to 2 different apps I recently posted to the app store.
    Basically, the apps worked in the simulators fine, I intalled and tested on 10 different iphones, and it works fine. When I packaged up the app, and downloaded from the app store after approval there were various missing images. For example, 3 images on a page with 6 png would be missing. They weren't loaded any differently.
    So I rechecked the app in flex simulators, worked fine, installed on phones, worked fine. I could not replicate problem anywhere. I randomly just resaved out a few images and that 'appears' to have worked. So when my next app was exhibiting the exact same behaviour, i 'resaved' out the broken images and a few were fixed, but a few are still broken.
    This is just so strange, since I can't replicate the issue anywhere except after downloading from the app store.
    Anyone else having similar issues?
    thanks

    Make sure your paths are *NIX compatible. Things like incorrect case or spaces in the file name will work just fine in the emulator, but fail on the device.
    Are you saying the images work when installed on the device using a provisioning profile, but that very same app doesn't work when downloaded from the app store? If that's the case, the problem is probably in your build settings (IE. not including all the asset files, etc.)

  • Trying to upload an app and it is asking for my developers ID i registered but dont know where to find that Id number I have used my apple ID but it seems to be different

    trying to upload an app and it is asking for my developers ID i registered but dont know where to find that Id number I have used my apple ID but it seems to be different.

    Ended up calling apple and got this fixed. Had to change id since it was made years ago with the old style of IDs.

  • For BlackBerry developers and Apps developers !!!

    Hi,
    This message is to the BlackBerry people, I mean the developers, the people related with the development of BlackBerry Z10.
    There is no doubt that you guys have done a fab work developing Z10. It is the best operating system in the market as of now. I have been a blackBerry loyal customer since 2010. I used Torch 9800 and currently Bold 9900 and planning for Z10 for obvious reasons.
    But, many people including me are disappointed with the apps in the Z10. Come on guys, this product has been in development since an year now. Everyone including you guys know that to survive in the current market you need to focus and invest more on the apps.
    Have you seen any major difference between in the OS of google, from Ice cream sandwich to Jellybean or the OS in apple iphones, from 4S to 5 ??? The answer is "NO", but they have worked on is apps and just apps.
    I love BlackBerry devices and at the same time I want it to prosper like the other devices in the market. Z10 has an outstanding OS platform, kindly utilize this in developing more apps and attracting more customers. This will hold benefits to both, customers and BlackBerry company.
    I just wanted to share my feelings regarding it and hence I did. Hope BlackBerry will look into it and hire more app developers around the world and won't let their customers down.
    I know there will be a 1000s of mails and such messages going out to you guys on daily basis, but I am writing this because it makes a difference and adds to the count.
    Have a good day.
    Thanks
    Anshul

    yes you can't change battery and display on software because it's hardware may be release another model aspect your requirement from blackberry ok!

  • Is there any prize for Firefox OS apps developers?

    Hi every one,
    I heard that Mozilla is going to give any developer works at Firefox OS a mobile as a gift for prviding an app, is that true? And if so, how can I give theme my informations?

    hello, unfortunately this program has already ended mid of may since the supply of devices has ran out: https://hacks.mozilla.org/2013/05/phones-for-apps-for-firefox-os/

  • Packaging WebCenter 10g apps using Ant or other automated mechanism

    Hi,
    The WebCenter 10g framework developers guide assumes that packaging of WebCenter apps is done through a JDeveloper WebCenter Application WAR deployment profile. Other steps such as predeployment and deployment can be automated using Ant and/or command line scripts.
    However, we would like to automate packaging of WebCenter apps just like packaging "plain" Java applications. For example to make sure that the correct configuration files (web.xml, orion-web.xml, etc.) are packaged in the WAR file according to the target environment (development, test, acceptance and production). These have different URL's, security information and so on per environment. If using JDeveloper deployment plans, you have to modify and check these files which is error-prone.
    Is it possible to automate packaging or is a deployment profile the only way to achieve correct packaging?
    We have been experimenting with the webcenter:generateMdsExportSet task to export design time customizations to the file system and package the resulting files into the WAR. Afterwards use ssh Ant tasks to copy the generic archive to the target runtime, run the predeployment task and deploy the application using Oracle Ant tasks. Is this a "certified" way to achieve automated packaging (and deployment) of WebCenter apps?
    Regards, Ronald

    Hi the post you replied to is dated Dec 19, 2006 7:04 PM, is this a current one but just an incorrect date? Saw it in the list and was going to have a look but then saw the date. Is this resolved do you know?

  • Frustration! Refund for apps that don't do what they are supposed to?

    How quickly a $2 app turns into a $50 waste of time!
    I purchased a $2 unit converter app to use at work and whenever else I needed it. After playing with it for about 20-30 minutes, I realized that there were several calculation errors. The unit converter simply didn't do correct conversions! (1 foot equals 11.986 inches!?) Now, If I'm noticing some simple conversion errors myself, how many conversion errors are happening that I don't realize? Needless to say, this app is useless to me because I can't trust its data.
    So I contacted the dev, and even got a response within a day. I sent a second message where I had done a lot of troubleshooting for them, hoping they could correct the problems. Nothing. No update, no response, nothing.
    So this brings me to my question... how can you get a refund for an app that doesn't do what it is supposed to do?
    Yes, yes, I realize the "all sales are final" thing. But this is where Apple's usual high level of customer service fails. Am I supposed to buy apps on blind faith that they work, knowing there is no refund? If I was assured that someone was testing these apps and assuring me that they do what they are supposed to, then okay. But that's not happening.
    Oh, wait... read reviews before buying? How is that possible for new(er) apps? If nobody buys it because they are waiting for reviews, then nobody can review it. I'd hate to be a dev and make a great app and have nobody buy it because they were afraid it wouldn't work.
    Not all apps have free/lite/trial versions.
    If this "no refund" policy is to be fair, then there needs to be demo or trial periods on all apps, to be certain that they actually do what they are supposed to! Until then, I want my $2 back so I can buy a unit converter that doesn't have calculation errors. I won't hold my breath for that... or for the ~$50 of my time wasted testing someone else’s app to no avail, and trying to find a contact source for Apple to request a refund.

    I do see where you are coming from.
    However I'm just personally against people buying something with the intent of taking it back and that's what would worry me here. I'm talking about girls I know who buy 4 dresses to take home and try out (and perhaps wear) and then take some or all of them back. Now that's one way to shop but I don't agree with it as I think it makes it more expensive for the rest of us as there is a cost involved in customer service and repackaging returned items. Note that is an example and I don't particularly care about buying dresses myself - except on Fridays when I log on as BettyDP
    And you mention you only want this for broken apps (i.e. ones that fail to deliver what the are for), rather than apps you bought and decided you didn't like/need. But this is a fine line and some people would use such a system to try to claim money back on an app they bought and thought wasn't that good, even if it did what it said. So who's to judge where that line is? And to have Apple employing people to make that call would push up the cost to all the apps.
    Now you genuinely have an issue with this particular app and, in my opinion, deserve your money back. However if you buy 100s of apps and end up wanting your money back on a large proportion of them then I do not agree with you, for the above reasons. When spending money, in my opinion, you should do your research and read reviews to make sure it suits. Sometimes, for a new app, you can't do as much in which case you either take a risk or hope you can get your money back if it doesn't suit. Yes, an item sold should do what it says to meet basic trading standards (and otherwise it's basically fraud), but, IMHO, there should also be a level of caveat emptor (buyer beware).
    Ultimately, for $2, I personally would probably chalk it up to experience and not try to reclaim it - thinking that the time spent trying to claim it back would be more hassle than it's worth. But then maybe that's just me.
    Now your demo point is a good one. Some app developers make a demo or lite version of their app to give you a free preview. That's their choice and not something Apple enforces and they think the extra coding to make this version is worth it in that it hopefully will drive up more sales. I agree it would be nice if Apple put some funky time limit on ALL apps so developers don't have to do this, and so you get it for free for 24hours to trial. It would certainly help in your situation and I myself would also find this useful.
    Finally the time you spent debugging the app is your time. You didn't need to do that and I don't think that's really that relevant here (I presume you aren't expecting to get you $2 back AND some extra because you spent some time fiddling with it?)
    Anyway, now I've made my opinion known (which you are perfectly entitled to disagree with), I'll get off my high horse and actually point you out to something helpful:
    http://www.iphonedownloadblog.com/2009/07/09/iphone-app-refund/
    (note I did read your comment about this form not working but I'd say try it again later or on another browser).
    Also note the interesting comments on this link which give more reasons (from a Developers point of view) why this is possibly a bad idea...

  • HT1904 How can I get a refund for apps in the apple App Store that do not work and are not what they said they wer

    How can I get a refund for apps in the apple App Store that do not work and are not what they said they wer

    You've tried deleting and redownloading them and seeing if they then work and tried contacting the developers ? If you have and they can't/won't help then try the 'report a problem' page to contact iTunes Support : http://reportaproblem.apple.com
    If the 'report a problem' link doesn't work then you can try contacting iTunes support via this page : http://www.apple.com/support/itunes/contact/- click on Contact iTunes Store Support on the right-hand side of the page, then Purchases, Billing & Redemption

Maybe you are looking for