North Pembroke website design
Hello and welcome to this website design Web Designer North Pembroke video tutorial.
I’m Owen Corso from Google.
And today, we’re going to build a rich media expandable creative with video.
Let’s start by selecting file, New File.
This opens a dialog box where we will set up our ad.
First, let’s make out high of project.
We have four options– The default is Display & Video 360so we will leave that as is.
Material Design Components for web - Designer vs. Developer #22
There's a lot involved when it comes to building a good website.
You've got to start thinkingabout SEO from the ground up.
It can't be an afterthought.
The website needs to be safe and secure.
It needs to be fast.
It needs to look good.
It needs to be responsive so it looks good on a cellphone or a laptop or a tablet.
It's your bread andbutter of your business.
So you want to haveyour best foot forward.
You've got to have a great website.
North Pembroke website design
Next, we can select the type of ad.
We want to make an expandable, so we select Expandable on the left.
Next, we can set again ad’s dimensions.
We are building a 320 by 50that expands to 480 by 250.
So I will make those changes.
We then assign the North Pembroke creative a name.
I will leave my Save ToLocation as the default, and leave the talk about set to Quick.
Once I’m happy with my settings, I click OK.
Google Web Designer creates the initial pages of the ad for me with the dimensions I defined.
The collapsed page already contains a Tap Area event to expand the ad and an expanded pageNorth Pembroke with a close tap area to collapse back down.
Material Design Components for web - Designer vs. Developer #22
WEB DESIGN IS BROKEN but it's okay weare fixing it.
Today we are gonna follow on from the last video and we're gonnatake you further along down that path to that magical place called budget.
Yeswe're helping you to create a budget, an appropriate budget for your web designproject.
I'm still not gonna give you some magical figure because it doesn'texist; it's all relative.
So I'm not gonna talkin terms of X pounds or Y dollars but I will be talking in terms of high mediumlow investment what that means only you can really know because a largeinvestment for you might be a small investment for the next business: a smallinvestment for coca-cola it's probably gonna be most people's annual turnovers!So only you will know what a large versus a small investment actually is.
Soin the last video we laid down some key things that you really need to be awareof when you're thinking about a budget not just for a web design project butactually for anything and these are these are things, biases that that we allhave as people that can really affect how we determine what to invest inthings.
By understanding these biases we actually reduce the chance of over orunder investing in a project just simply by being aware of them.
So in this videowe're gonna look at two more very key things that are going to give you quitea reliable shortcut to determining whether the investment you make islarger or smaller.
These two things are risk and complexity.
What do we mean byrisk and what do we mean by complexity? When we're talking about risk we'retalking about the impact that it could have on your business.
Something that ishigh risk could have a significant impact on your business.
The way I like to think about risk is that it's whether it goes right orwhether it goes wrong, so it's not just down side there's also upside as well.
If there's significant upside then it's still gonna be high risk.
Low risk meansthat it's not gonna make a huge impact on your business,it's not gonna move the needle as they say.
Complexity is really just about howtechnically difficult it is to actually deliver this piece of functionality soif you look at, I don't know, take bridge making as an example: if you're buildinga small bridge across a little stream then that's probably going to be lesstechnically difficult then if you're trying to bridge the River Thames.
So it'show technically difficult it is to deliver and again it goes on a scale oflow to high complexity so why risk and complexity well if we plot them on agraph like so, we can see that they create four quadrants.
Now each of thesefour quadrants represents a different type of project: a high risk, highcomplexity project; a high risk, low complexity project; a low risk, highcomplexity project and a low risk, low complexity project.
Now just by exploringthese four different types of projects, these four project characteristics wecan actually start to make assumptions about what that project is going to belike and give you some shortcuts as to how much you invest in that type ofproject.
Let's jump into it: let's start off with the easy one low risk lowcomplexity.
So this is what I call the 'tick box' this is a website project thatis effectively just a tick box exercise maybe as a part of your business there'sa requirement that you have a web-based resource which goes over a whole bunchof really interesting things.
Maybe it'sjust a regulatory requirement, maybe you've gone for some funding and awebsite has to be a part of what you deliver.
It really doesn't make a hugeimpact on your business if it's just informational as these things typicallytend to be, then it doesn't really require groundbreaking programmingskills and cutting-edge design to actually fulfill its need.
So in thistype of project you really want to be investing as little as you possibly canjust as much as you need to to get a reasonable job done.
It's not gonna makea huge impact on your business; it's not technically difficult to deliver youjust want something that works and that ticks that box.
So if your project is lowrisk low complexity don't bet the farm on it there's no point it's not gonnabring you the return that you need pay as little as you can to get a goodprofessional job done but don't go crazy over it.
So now we've got low risk highcomplexity.
This is an interesting space and I like to call this quadrant in thistype of project the 'moderniser'.
With something that's low risk and highcomplexity typically we're looking at improving existing systems and processesusing newly available modern technologies.
With this type of projectwhat you really want to be doing is looking at a provider that hasthoroughly solved this problem so I'm thinking online payments companies likePayPal, like Stripe have thoroughly solved this technical challenge.
It's notnecessarily the type of project that you think is going to completelyrevolutionize your business; it might make things a lot more efficient andyou'll probably see some uptick in sales, engagement things like that, but ultimatelyit's not the big game changer for your business.
So you should be lookingto invest a reasonable amount to get some off-the-shelf solutions that canactually bridge this gap and help you modernize.
Let's jump into my favoritequadrant: low complexity high risk this is what I call the 'punt'.
So this is myfavorite sector because this is typically where a business has spotted anew opportunity maybe a new part of the market maybe they want to spin off anexisting product or service and they just want to test it out.
They want tosee whether their offering or messaging works.
Why this is high risk is that ifit works well then there could be significant upside.
It might be a wholenew part of their business it might be a new standalone business if it goes badlythen they lose their initial investment.
Now what you want to do when you'reworking in this quadrant you what you want to be doing is thinking aboutmultiple small investments and testing religiously.
Test absolutely everythingbecause what you're trying to do is figure out if this thing, if this ideahas got the legs to warrant a proper investment.
You want to be thinkinglanding pages; very simple to produce very easy to iterate.
You also want to bethinking about investing in things like pay-per-click advertising as well -literally buying the traffic to test against your multiple service offeringvariations.
Don't bet the farm on this it's all about controlling risk at everysingle point every single iteration so be very purposeful be very deliberateabout how you execute when you're dealing with low complexity high riskprojects.
So the final quadrant is what I call the 'moonshot'.
This is the stuff ofstartup legend.
This is that entrepreneur space where we are launching newproducts into unknown markets.
This is an area that is very similar to high risklow complexity in its approach but you should really be making significantinvestments in this area: you still need to control the risk andyou still need to test fastidiously but you might be needing to actually investheavier and produce some custom functionality.
You might need to actuallybe producing working prototypes of your product or service offering.
You can't cut corners when you're in this quadrant the risk is too high.
Because the complexity is high you're probably going to be building thingsthat have never been built before; you're needing to create technical capabilitywithin your business and understand how that impacts the delivery of yourproduct and/or service.
So absolutely never cut corners here.
The key wordsthat you should be listening out to when you're talking about the project is 'noone else is doing this', 'this has never been done before', 'this is brand new',''here's why it's different to the competitors'.
All of these things shouldbe getting you thinking high risk high complexity.
Invest well, don't cut cornersand test and iterate and measure absolutely everything you can.
So thoseare the four quadrants and hopefully this gets you a little bit closer tounderstanding where your project sits in those quadrants and the amount that youshould invest relative to, well whatever that means to you as a business.
Thus farwe've understood things about the biases and the psychology that can affect howwe make investment decisions, we've been able to identify where our project sitsalong an axis of risk versus complexity in the next video we're going to belooking at some pounds and pence examples for how you can start to createthat budget or a range of that budget based on the perceived upside or theperceived savings that you're gonna make or thatyou're hoping to make in your web design project.
That was heavy!My name is Aaron Taylor, I'm helping you to make better decisions and have betterconversations when you're buying a website.
Till next time!.
Material Design Components for web - Designer vs. Developer #22
Sketch was made for screen-based design.
Websites, app interfaces, icons… these objects of design exist within a world of pixel measurements, RGB colors, and presentation on digital screens. Unlike many of the Adobe creative tools which include 10,000 features and the kitchen sink, Sketch is laser-focused in its purpose—and consequently works far better (and more efficiently) for what it does do.
Sketch was not made for print-based design.
Business cards, brochures, posters… these exist within a physical world of inch/centimeter/point/pica measurements, CMYK or Pantone colors, and presentation on a variety of papers and materials. Adobe Illustrator and InDesign are two of the most popular tools in this arena.
And when a print design project rolls around, you might find yourself yearning to continue using the same tool you’ve become so adept at using for web/UI design. I want you to know that it’s possible. Here’s how I do it:
(full disclosure: Adobe Illustrator is required)
The Magic Number 72
Dating back to the craft of setting lead type for a printing press, the primary units of measurement were points (72 per inch) and picas (12 per inch). Lead type (pictured here) is measured in points, and is produced in pica or half-pica increments such as 12, 18, 24, 36, and 72 points. Those numbers should sound familiar to you, as they became standard digital font sizes with the Macintosh. The first Macs used screens where every inch contained 72 pixels, resulting in 12pt text that looked practically the same size onscreen as in print. The evolution of pixels per inch (PPI) is too extensive for this article (especially since the advent of retina displays), although it’s important to know a bit about the origins of this 72:1 ratio.
This article will mostly use inch measurements, as used for print design in the US. If you are familiar with a centimeter workflow, I’d love to hear from you!
Sketch measures everything in pixel units, so we need a way to convert our design to the physical world of inches. By now you may have guessed where this is going: 72 pixels in Sketch converts to 1 inch in an exported PDF.
- An 8.5" × 11" piece of paper (US Letter) converts to a 612px × 792px artboard.
- A typical 3.5" × 2" business card converts to a 252px × 144px artboard.
- When adding a new artboard, Sketch 3 gives you a few “Paper Sizes” presets. Speed things up by adding your own custom artboard presets!
The pixel dimensions of a 72 PPI layout may be far smaller than you are used to when working on websites or user interfaces. Remember that the clarity of your print project is dictated by the print method you use—Sketch’s “Show Pixels” function is of no use here!
Tips for Designing Your Layout
- For elements in your design, try to use measurements that make sense in inches. 1px = 1pt for lines and font-sizes. I’ll often use 1/8 inch (9px) or 1/16 inch (4.5px) increments for layout elements.
- You can use Sketch’s Grid feature to make these inch-appropriate positions or measurements easier. I suggest a grid with a 9px (1/8 inch) block size and thick lines every 8 blocks (1 inch). Show/hide the grid with ⌃G on your keyboard.
- You can turn off “Pixel Fitting” in Preferences. There’s no need to be a stickler for pixel alignment as you would be for screen-based design.
Margins & Bleeds
Professional print shops often require your artwork to have extra space on all sides, extending any parts of your design that “bleed” out to the edge (see example below). This compensates for the slight, yet inevitable, variance in where the edges are cut on your final print. My printer asks for a 1/8 inch bleed, and I often add this to my Sketch layout (9px extra on all sides). If your design has elements that bleed, I suggest you do the same—if not, you can easily add these extra margins later when saving a PDF from Illustrator. Printers will also recommend that any text is at least 1/8 inch inside the trim lines (a “safe zone” or “critical print area”), as in the business card below.The “Trim Lines” indicate what the final card will look like. Because trimming is rarely 100% accurate, any parts of the design that extend to the very edge should continue out to a “Bleed”. Shown here, the bleed extends to 1/8 inch outside the artwork.
Preparing the File for Print
99% of print shops are strict about the specifications of your “artwork” files. The following process will help you give printers the files they want! If your layout relies heavily on images, gradients, or shadows, skip to the next section!
When you have finished your design in Sketch, export it as a PDF at 1x scale. Many programs, such as Preview or Adobe Illustrator will automatically interpret the file at 72 PPI. You can view the PDF’s dimensions in inches in Preview (Tools > Show Inspector, ⌘I), or in pixels using Finder’s Get Info window (under “More Info”). If you save your PDF through Illustrator, pixel and inch dimensions will be automatically included in the file.
There are 2 other things we need to change about Sketch’s exported PDF:
- Text needs to be “Converted to Outlines”.
- The colors need to be CMYK values instead of RGB.
- Any images in the design need to be embeded as CMYK images.
Converting Text to Outlines
To ensure that your design is printed exactly how you see it on your computer, it is important to convert the text objects in the PDF to actual vector shapes, or “outlines”. This makes the text look exactly the same on any program on any computer, regardless of the fonts you’ve used in the design, and regardless of whether or not those fonts are installed on the printer’s computer.
You can convert text to outlines in Sketch (more about that here), although if your design has more than a few lines of text, Sketch will slow down dramatically. If you want a guaranteed way to crash Sketch, try selecting a dozen text objects and converting them to outlines all at once! Fortunately, Adobe Illustrator excels in this department, so we’ll use that instead.
- Open the PDF in Illustrator and navigate to Select > All (⌘A), from the menu bar.
- Also in the menu bar, navigate to Type > Convert Text to Outlines (⌘⇧O). Easy as that!
Converting to CMYK Colors
After opening your PDF in Illustrator, navigate to File > Document Color Mode > CMYK Color. This converts the entire document to a CMYK colorspace from RGB. That’s the easy step. Now we have to change the colors in our design to actual CMYK values.
If you’re used to screen-based design and appreciate great colors, I feel obligated to tell you that CMYK may disappoint you. Due to the nature of combining those 4 colors (cyan, magenta, yellow, and black) in ink, many bright and saturated colors are difficult or impossible to recreate. Without diving into color theory or the pros/cons of various print methods, I will simply suggest that for any color that is important to your design you see a sample of that exact color value from a similar printer on a similar material. To do this I recommend choosing a close match on a Pantone swatchbook (a bit pricey, but a great investment), or ask your printer for a printed sample of a variety of colors printed on the paper you’ll use (they probably already have these, and can give you each color’s CMYK value).
Once you’ve chosen great CMYK values for all your colors, it’s time to replace the color value for each of the elements in your design. This sounds tedious—and to a certain extent it is—but I’ve discovered a few shortcuts to help you!
- First off, you will need to select the elements whose colors you want to change. If you aren’t familiar with Illustrator, know that a layer is only selected when you click the small circle to the right of it. Simply clicking on the layer’s name will not do anything!
- If your design has many elements with the same color (say, all green text), they can be selected all at once by first selecting one instance of the element then clicking the “Select Similar Objects” button on the right of the toolbar. If this toolbar or button isn’t available, try navigating to Select > Same in the menu bar.
- When your elements are selected, hold down the Shift key when you click on the fill color in the toolbar (fill color to the left, stroke/border color to the right). Even elements that are pure black need to be converted to CMYK black, for which there is a little swatch below the color sliders.
When all of your text has been converted to outlines and all of your colors are CMYK, it’s time to save a separate PDF (I add “-print” as a suffix to the new filename). By using File > Save As, you get a trillion options for the PDF. The single option I ever use is to add a bleed margin (my printer likes 1/8 inch) on all sides of the artwork. To do this, go to the “Marks and Bleeds” section on the left and uncheck “Use Document Bleed Settings”, as shown below.
You’re all done! Trust me, next time this process will take you half as long!
Is Your Design Image-Heavy?
If your Sketch design includes bitmap images (non-vector images), they will be automatically converted from RGB to CMYK when you change the Document Color Mode. Upon importing the PDF to Illustrator, any shadows in your design will be converted to bitmap images and any gradients will become un-editable “Non-Native Art”. Because of this, if images, shadows, or gradients are important to your design, I strongly suggest you instead save the entire Sketch layout as a PNG and convert it to a CMYK file in Photoshop using the following steps.
- Export the Sketch artboard as a PNG at 4.166x scale, which gives you the amount of pixels you’ll need for a 300 PPI print-ready file. Printers rarely accept bitmap images less than this resolution. Make sure your artboard includes the necessary bleed margins (described above) before export.
- Open the PNG in Photoshop and navigate to Image > Image Size, in the menu bar. Uncheck the “Resample” checkbox and type in either the artwork’s dimensions in inches or the “Pixels/Inch” you used when exporting from Sketch (again, this is often 300 PPI). Click “OK”.
- In the menu bar, navigate to Image > Mode > CMYK Color. This will alert you that Photoshop is converting the file to a default CMYK color profile. This step may visibly change the colors of your design. Rest assured that your computer screen is not an accurate representation of colors in print, although you should also not expect the same bright or saturated colors capable with RGB (as described above).
- Adjust the colors slightly if you desire, then Save As a .psd or .tif file. Be sure to tell the printer what bleed margins you included in the artwork!
Of course you can use this process in conjunction with the PDF + Illustrator workflow above, by embedding the Photoshopped images into your Illustrator document. But most of the time I stick to one process or the other.
Is This Workflow Right for You?
If you’re fast at designing in Sketch, feel more at ease or more creative using it, or aren’t very familiar with Illustrator/InDesign, this may be good for you. This may also be a useful workflow if you have existing designs from Sketch (an interface, icon, logo) that you want to prepare for professional printing. I can’t read the future, but with Bohemian Coding’s small team and success focusing on screen-based design, I don’t advise you to hold your breath for print features. It’s a huge can of worms!Examples of projects made with this workflow. From packaging, to letterpressed business cards, to laser-engraved signage. This work for Juice Shop recently won the Type Directors Club’s prestigious annual design competition.
I’ve written this article to share my workflow for print design projects, but also to learn of ways that I might improve this workflow in the future. If you have any suggestions, especially related to Illustrator or the print process, feel free to share them!
Be the first to know when I publish new design articles and resources.
I just released Sketch Master — online training courses for professionals learning Sketch. You’ll learn tons of tricks and practical workflows, by designing real-world UI/UX and app icon projects.
Sketch Master is a collection of video training courses for professionals learning Sketch—the popular design tool. sketchmaster.com
Ant (GitHub) is much more than a React UI kit with a minimalist design aesthetic and every component under the sun. It is a rabbit’s hole that leads to a giant maze of interconnected libraries, with a serious ecosystem surrounding it. There’s a custom build tool based on Webpack called ant-tool, several CLI apps, community scaffolds, and a complete framework (dva, which has its own CLI as well). And the UI components are mini-projects in and of themselves — see this repo for information on each component.
Many of these libraries appear to be very polished, including an entire React animation library. And I’d love to learn more about them, but Ant comes with a challenge — the majority of the documentation is in Chinese.
How’s Your Chinese?
Let me preface this by pointing out that the components library and its terrific style guide have been translated into English by generous volunteers, so the UI kit is completely usable. And the translation effort demonstrates the project’s intentions to open up Ant to a wider audience, boding well for companies considering adopting it.
However, there are some language issues that remain. The English is sometimes confusing or obscure. The maintainer of the library has commented here that they welcome PRs for improving the documentation, so that could be a great way to get involved in this amazing project.Good luck hunting down issues!
Another issue is that issues in Ant.Design are mostly filed and debated on GitHub in Chinese. This could be a deal breaker for enterprise applications, but I’m not sure it should be one for early startups since Ant can be used quite minimally, without making use of smarter features like built-in form validation. Still, if you find an issue or bug with the library, it will be difficult to research previous solutions to your issue, and that’s why I recommend making minimal use of the surrounding ecosystem at this stage.
Popular UI libraries for React include Material-UI, Semantic-UI, Foundation, and Bootstrap (this and this), and they are all fairly mature. Material-UI should be singled out as it massively eclipses the others in popularity, with over 22k stargazers — and over 600 open issues. But it turns out that Ant.Design is a surprisingly worthy candidate as well. It’s battle tested by some of the most well-trodden sites on the web (Alibaba, Baidu), and it boasts a brilliant style guide, custom tooling, and, of course, a comprehensive catalogue of components. It also has only 85 open issues at the time of writing, which is a good thing considering its popularity.
So let’s take a tour of the library, see what it has to offer, and how to get started using it.
The Ant components list is dizzying. Sure, it contains the basics — modals, forms (inline and vertical), navigation menus, a grid system. But it also contains a ton of extras, such as a @mentioning system, a timeline, badges, a seriously nice table system, and other small fancy features, such as an involved address box (see the Habitual Residence field). Have a look — it has everything that a modern web application should, with a tasteful, minimalist aesthetic.
There’s a nice, concise section in the documentation on the guiding principles of Ant.Design. I found it a great read as it got me thinking a lot about UI/UX considerations, especially the “Provide an Invitation” section, where they discuss different ways of making interactions discoverable by a user. By the way, if anyone can recommend me a good book on UX, I would be grateful.
The Ant layout system is comprised of a 24-aliquot (a great new word that I learned from the translated documentation — it means parts of a whole) grid and a separate Layout component than you can choose to use. The grid uses the familiar Row/Col system, but you can also specify a prop called flex which allows you to harness Flexbox properties to define a responsive UI. (See a previous blog post of mine for help grokking the Flex standard.)
Flexbox is now fully supported on just about every browser (with partial support on IE 11 as well as some older mobile browsers), so it should be fine to use. If your customer base is largely Internet Explorer users, which does happen in some industries or countries, you would be wise to abstain from using flex Rows or the Layout component, as Layout is built strictly on Flexbox.
Layout includes components for a Sider, Header, Content, and Footer. Again, these are strictly based on Flexbox, so there’s no choice here — but to be honest I’m not sure what these components give you on top of using the standard Row/Col grid system, aside from a couple extra props you can make use of and possibly some built-in design choices. All in all, it doesn’t seem to me to be hugely useful.
Col elements can be supplied with a span prop to define how many aliquots a column takes up and an offset prop to define an optional offset; Row can take a gutter prop to define space between columns in a row (in pixels, not aliquots).
Here’s a UI example from a side project of mine. It contains one row with two columns:
The code would look something like this:
Ant does not let you down as far as forms are concerned, with options for inline, horizontal, and vertical forms, amazing select boxes, and clear validation messages and icons. In fact, it goes a little overboard here. It allows you to wrap your entire form-rendering component in a higher-order component à la Form.create()(<Component />) to gain access to a built-in validator syntax and custom two-way-binding system (cue audible lip biting). You can then specify standard rules such as ‘required’, or supply custom validator methods. (What are Higher Order Components? Check out this excellent post by James K. Nelson.)
Do you need to use their HOC? Absolutely not, and I’m not sure you should. As I said above, going down that path could expose you to language risk should you encounter bugs and I don’t see why you would want to use a custom two-way binding data system anyway. But you could easily use the HOC and just not use the two-way data binding.
Au Naturel — Plain React Forms
So let’s go over how to use the Ant validation messages without using their higher-order component.
Ant gives us three props that we can supply to each Form.Item component to display validation messages or icons:
- validateStatus — This determines the colour & icon scheme of the validation message (see photo above) — valid options are success, warning, error, and validating.
- help — The validation message to display.
- hasFeedback — This is one of them props that don’t require a value. Just include if you want to display the associated icon, and it defaults to true.
Here’s an example of a simple form element that displays a validation message:
Notice that I used the long-form Form.Item component name. You can make yourself a shortcut for this and any other Ant sub-components as follows:const FormItem = Form.Item;// .. allows you to use:
Form Validation using the Ant Higher-Order Component
Now what if we do want to make use of the Ant Form decorator? It’s fairly straightforward to implement. Create your React component class, and then pass it as an argument to Form.create(). The component can then be exported:class SomeComponent extends React.Component
render() <place_form_here.. />
FancyFormComponent = Form.create()(SomeComponent);export FancyFormComponent as default ; // imported as SomeComponent
Inside your form, decorate your Input fields using the getFieldDecorater method, which exposes a ton of extra props on your component. You can now manipulate form elements directly from the props (eek!).
This example in the documentation gives a thorough demonstration on using the complete higher-order component.
Interactive Components — Message (Alert)
Ant provides a number of other components that give web applications a high degree of interactivity. A great example is alerts — or messages, as they’re called in Ant. Adding an alert is as simple as calling message.success('Great! Item has been saved.') in your component. Message types include success, warning, or error. Just don’t forget to import message (lowercase) from ‘antd’.Minimalism at its Best
As I mentioned above, you can either go all-in on the Ant ecosystem (with its custom Webpack adapter), or just opt for the design framework. I went with the latter and I suspect you might too, not the least because using other parts of the ecosystem could require a working knowledge of Chinese. But I’ll cover both options.
Option 1 — Use the CLI
Ant comes with antd-init, a CLI for generating a complete React application with Ant installed. I do not recommend this route for non-Chinese speakers, but if you want to try it, getting started is easy. Just install the CLI using npm, create a new folder, and run antd-init:npm install antd-init -g; mkdir demo-app; cd $_; antd-init;
You will then be greeted by the following message:antd-init@2 is only for experience antd. If you want to create projects, it’s better to init with dva-cli. dva is a redux and react based application framework. elm concept, support side effects, hmr, dynamic load and so on.`
It’s a rabbit’s hole. Open your new application and you will see that your familiar webpack.config.js file is no longer familiar — the CLI uses ant-tool, a “Build Tool Based on Webpack” that I mentioned above. The documentation is in Chinese, but it appears to set common defaults for Webpack and then allow you to just supply values that you want to override. Here’s what the config file looks like:// Learn more on how to config.
// — https://github.com/ant-tool/atool-build#配置扩展module.exports = function(webpackConfig)
]); return webpackConfig;
The index.js contains a lovely demo page that uses the understated Ant styling.
Option 2 — Use Standard Webpack
This would be my preferred route, but it can be more complicated getting your Webpack settings right at first. The Getting Started page includes some good instructions. First install Ant in your React app:$ npm install antd --save
Ant recommends using their own babel-plugin-import in your .babelrc:"presets": [
"plugins": ["transform-decorators-legacy", ..., ["import", [ libraryName: "antd", style: "css" ]]
Make sure your Webpack includes loaders for .js and .css files, and you should be good to go. To use an Ant component, import it in the module file. E.g.import Row, Col, Icon, Button from 'antd';
There’s no doubt that Ant has a lot to offer as a UI framework, with a formidable catalogue of components and a serious ecosystem around it. It does, however, come with some risk. If you experience an issue with the library, you may be stuck communicating in Chinese. Ultimately I recommend trying it out if you like the minimalist aesthetic, while keeping usage of the peripheral Ant ecosystem to a minimum.