Some thoughts: 1. This is a great initiative! 2. The speed that the page loaded is incredible. First draw was less than a second and fully loaded was less than 2 seconds — with cache disabled. 3. Ultimately I think this is the way we want to go, but getting the polish on this right will take a significant effort. It might make sense to initially use the version exported from Wordpress and only later swap it to a Royale version. 4. I’m not sure how I feel about including RoyaleSite in projects. 5. I like the organization of the page and the “web components”. I think it’s a real proof of concept that MXML can be used for structure and re-usable pieces simplified. 6. Multiple pages is the sticky point here. We definitely could make each page a separate project, but I would really like if we would have a better story for multiple pages. Initially we could have post-build scripts to copy the assets to the correct structure to make it easy to deploy.
Longer term plans for multiple pages I think requires handling two difference scenarios: 1. Page routing/deep linking. This is necessary for two things: a) Loading an app in a specific initial state. b) switching to new “pages” in apps where the vast majority of content is shared across pages and/or there are transitions between pages. 2. Allowing compiling multiple “pages” in a single project. Here’s some thoughts on how it may work: a) mxml pages should be specify-able to the compiler as “pages” which would be output as separate html pages with linked JS files. This could be either output to separate folders with index.html files for each, or all to a single folder with differently named html files. b) Not sure whether CSS files should be shared across multiple pages or not. c) It would be great to have an option to have shared code loaded as modules so it could be cached. I’m not sure how this would be specified. Maybe including a JS file which includes all Framework code used across all pages? Framework code could be defined by anything included in a swc. Maybe compiler options to specify which swcs would be “modules” and which would be hard-linked into application code? Not sure… Either way, I think the Royale site falls more into the second category than the first. My $0.02, Harbs > On Dec 22, 2017, at 10:36 AM, Alex Harui <[email protected]> wrote: > > Hi, > > First, thanks to Carlos for all of the work he's been putting into the > future Royale web site. > > While waiting on something from Infra, I decided to try to approximate the > home page that Carlos has been working on [1]. I wanted to do so for the > following reasons: > -try to eliminate the dependency on commercial and paid-for resources > -try to make the source for the site available to more people so that > Carlos doesn't have the pressure of us waiting on him > -try to carve out reusable pieces of the look-and-feel for use elsewhere, > like our ASDoc pages and maybe Olaf's Try-It-Now app. > > My crude approximation is here: [2] > Source is in Git here [3]. > > [1] http://royale.codeoscopic.com > [2] http://home.apache.org/~aharui/RoyaleWebsite/html/ > [3] > https://github.com/apache/royale-asjs/tree/feature/royalesite/examples/roya > le/RoyaleWebsite/src/html > > There are no cool animations, the colors aren't quite right nor is the > spacing, but it is a start. I replaced the ET-Line fonts with FontAwesome > so I had to choose some different graphics. > > Anyway, putting this together got me thinking about Royale and our > extensible component model. Royale is all about productivity. And to me, > one irritating thing about working with native HTML is the duplication of > tags. If you look at the source in [3], I had to copy sets of tags and > update the content inside without accidentally deleting a tag or quote or > something. IMO, the whole point of Royale is to allow anybody to improve > productivity by eliminating duplication and reduce maintenance costs. The > idea is that any repeating pattern of HTML tags should be encapsulated > into a Royale component. > > So, I spent a couple of days doing that. I created components for the > repeating patterns I had to use to create [2]. For example, I created a > ResponsiveTableTile that represents the six tiles in the middle of [1], > and created a TitledAnchorList to encapsulate the links at the bottom of > [1] and created a few other components as well. I also modified the HTML > set and the compiler to allow nested HTML components in a more "natural" > way. > > The result is at [4]. It is the debug version so it takes a bit to load. > The MXML is at [5]. You can compare it to [3]. > The components and example are checked into a feature/royalesite branch > > [4] http://home.apache.org/~aharui/RoyaleWebsite/royale/ > [5] > https://github.com/apache/royale-asjs/blob/feature/royalesite/examples/roya > le/RoyaleWebsite/src/main/royale/RoyaleWebsite.mxml > > IMO, components are almost like macros. They eliminate unnecessary > duplication. The MXML markup hides all of the implementing tags and makes > it easier to see the content instead of the surrounding structure. You > can change the implementing tags in the component without affecting the > markup. > > An extensible component model can be useful anywhere HTML and JS is in > place today, not just in things we traditionally call "Applications". So > now the questions are: > > -Is this useful? > -What would it take to get to sufficient quality in this approximation? > I'm not thinking 100% duplication of what Carlos has on [1], but good > enough to publish and more people can contribute improvements later. > -Is it practical to build the Royale site by making each page a separate > Royale project and sharing components and assembling the whole thing > together? Then we wouldn't have to worry about SEO and > page-routing/deep-linking. > > Of course, I could be wrong... > > Thoughts? > -Alex > > PS: Adobe is on holiday until Jan 2. I will be checking email and poking > at various things like getting the scripts working to build release > candidates, but I won't be getting as much done as a normal work week. > > > On 12/17/17, 4:22 AM, "[email protected] on behalf of Carlos Rovira" > <[email protected] on behalf of [email protected]> wrote: > >> Hi, >> >> just want to say that I was the past weeks with heavy work load. For the >> website I think most of the informative pages are done, and in my point of >> view the pages that needs more work are HOME and FEATURE. >> >> But, in the other hand, we need to make a first release to put some valid >> info in the website, for example NPM, GETTING STARTED,... >> >> So, in the end website is dependent of the first release of Royale to be >> published. I think as Royale gets a first release that will unchain the >> final work on website >> >> Thanks >> >> Carlos >> >> -- >> Carlos Rovira >> https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2 >> Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C9413d93f07f04c69d56908d5 >> 4548f57e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636491102047716832&s >> data=mOSMFfxtYi%2B7BLJMb0qwLtP%2BcURmNf7S%2B3IBg9j%2Bt%2FE%3D&reserved=0 >
